https://habr.com/ru/company/skillbox/blog/462979/
Fibonacci
https://habr.com/ru/post/449616/
https://habr.com/ru/post/450594/
http://www.oranlooney.com/post/fibonacci/
https://news.ycombinator.com/item?id=19216356
Monads
https://blog.kabir.sh/posts/inventing-monads.html
Algo
https://github.com/TheAlgorithms/Python
https://github.com/30-seconds/30-seconds-of-python-code
https://m.stopa.io/10-offers-100-days-the-journey-16a0407b8d95 interview https://habr.com/ru/post/454264/ . Inteview
https://habr.com/ru/post/455260/ Merkel’s tree
https://hackernoon.com/20-string-coding-interview-questions-for-programmers-6b6735b6d31c
https://medium.com/@fahimulhaq/14-patterns-to-ace-any-coding-interview-question-c5bb3357f6ed
https://www.solutionfactory.in/posts/Floyd-Cycle-Detection-Algorithm-in-Java Cycle detection
https://docs.google.com/spreadsheets/d/1GOO4s1NcxCR8a44F0XnsErz5rYDxNbHAHznu4pJMRkw/edit#gid=0
http://web.stanford.edu/class/archive/cs/cs161/cs161.1168/
http://web.stanford.edu/class/cs166/handouts/100%20Suggested%20Final%20Project%20Topics.pdf
https://www.youtube.com/channel/UC_79TBgKFlEwFp345dYF7ag
https://robertheaton.com/2014/05/02/jaccard-similarity-and-minhash-for-winners/
https://cses.fi/book/ . Competitive programming book
https://www.amazon.com/dp/1793296634 Algo Book
https://www.byte-by-byte.com/google-interview/
https://courses.csail.mit.edu/iap/interview/materials.php
http://www.cs.sjtu.edu.cn/~jiangli/teaching/CS222/files/materials/Algorithm%20Design.pdf Algo book
https://www.byte-by-byte.com
https://www.youtube.com/watch?v=9clnwaqOU2E string algo
https://www.globalsoftwaresupport.com/most-common-programming-interview-questions-in-2019/
https://github.com/devAmoghS/Practice-Problems
https://habr.com/ru/post/442352/ Бинарные деревья поиска
https://www.youtube.com/watch?v=lpO_arK69vg LCA
https://habr.com/ru/post/438512/ алгоритм Хаффмана
https://djhworld.github.io/hyperloglog/
http://blog.amynguyen.net/?p=853
https://eddmann.com/posts/depth-first-search-and-breadth-first-search-in-python/
http://www.java67.com/2018/05/top-75-programming-interview-questions-answers.html
http://www.algorithmsilluminated.org/
https://habr.com/ru/post/112222/ heap
https://habr.com/ru/post/437702/ Разбор задачи с собеседования в Google: синонимичные запросы
http://algorithms.wtf/
http://opendatastructures.org/
https://algoexpert.io/rachit Use “rachit” as coupon code to get 30% off
https://algs4.cs.princeton.edu/home/
https://www.youtube.com/watch?v=TeZqKnC2gvA Visitor design pattern
https://medium.freecodecamp.org/unmasking-bitmasked-dynamic-programming-25669312b77b
https://techiedelight.quora.com/500-Data-Structures-and-Algorithms-interview-questions-and-their-solutions
https://blog.usejournal.com/i-interviewed-at-six-top-companies-in-silicon-valley-in-six-days-and-stumbled-into-six-job-offers-fe9cc7bbc996
https://www.businessinsider.fr/us/microsoft-new-developer-interview-process-2018-12
https://stackabuse.com/programming-interview-questions/
https://bradfieldcs.com/algos/
http://rachitiitr.blogspot.com/
https://www.youtube.com/watch?v=4NIb9l3imAo
disjoint set union (DSU) или Union-Find. https://habr.com/ru/post/104772/ создать быструю структуру, которая поддерживает следующие операции:
MakeSet(X) — внести в структуру новый элемент X, создать для него множество размера 1 из самого себя. Find(X) — возвратить идентификатор множества, которому принадлежит элемент X. В качестве идентификатора мы будем выбирать один элемент из этого множества — представителя множества. Гарантируется, что для одного и того же множества представитель будет возвращаться один и тот же, иначе невозможно будет работать со структурой: не будет корректной даже проверка принадлежности двух элементов одному множеству if (Find(X) == Find(Y)).
Unite(X, Y) — объединить два множества, в которых лежат элементы X и Y, в одно новое.
http://iolivia.me/posts/4-bloom-filter-part-3/ Bloom filter
https://stackoverflow.com/questions/2936213/explain-how-finding-cycle-start-node-in-cycle-linked-list-work
https://stackoverflow.com/questions/41515081/algorithm-find-all-permutations-of-string-a-in-string-b
https://www.youtube.com/playlist?list=PLMCXHnjXnTnvo6alSjVkgxV-VH6EPyvoX . system design questions
https://www.youtube.com/watch?v=bBPHpH8aKjw look fo links here!
https://blog.sqreen.io/demystifying-radix-trees/ . Radix tree https://news.ycombinator.com/item?id=18921058 . Radix trees
https://stackoverflow.com/questions/11897088/diameter-of-binary-tree-better-design
http://www.interviewdruid.com/ https://github.com/parineeth/tbboci-3rd-edition-python https://www.amazon.com/dp/1983861189
https://www.algoexpert.io/product
https://www.hackerrank.com/
https://www.interviewbit.com/
Print the outlier nodes in binary tree
https://www.jeffcarp.com/posts/2018-how-to-solve-every-software-engineering-interview-question/
https://habr.com/ru/post/457042/ . Tree traversal using 2 threads (Java)
LCA
https://en.wikipedia.org/wiki/Lowest_common_ancestor https://sites.google.com/site/mytechnicalcollection/algorithms/trees/lca-of-binary-tree https://stackoverflow.com/questions/1484473/how-to-find-the-lowest-common-ancestor-of-two-nodes-in-any-binary-tree
https://www.youtube.com/channel/UCcAWgbpROQrPok18E6UozWw/videos
https://www.facebook.com/tusharroy25/
https://github.com/mission-peace/interview/tree/master/src/com/interview
https://github.com/donnemartin/interactive-coding-challenges
https://github.com/alexhagiopol/cracking-the-coding-interview
https://github.com/charulagrl/data-structures-and-algorithms
https://github.com/thundergolfer/interview-with-python/tree/master/solutions/python
https://github.com/anubhavshrimal/Data_Structures_Algorithms_In_Python
https://github.com/bt3gl/Python-and-Algorithms-and-Data-Structures/
https://blog.finxter.com/python-interview-questions/
https://stackabuse.com/graph-data-structure-interview-questions/
http://www.java67.com/2018/05/top-75-programming-interview-questions-answers.html
https://www.quora.com/How-do-I-learn-algorithms-2
https://skillupper.com/
https://moultano.wordpress.com/2018/11/08/minhashing-3kbzhsxyg4467-6/
https://moultano.wordpress.com/2018/11/08/minhashing-3kbzhsxyg4467-6/
https://habr.com/post/430788/
http://www.benfrederickson.com/distance-metrics/
https://www.youtube.com/watch?v=1CxyVdA_654 Running mediam in stream
https://www.youtube.com/watch?v=IHsX70r-fIQ Max sub-sequence in string
https://www.quora.com/How-do-I-start-learning-or-strengthen-my-knowledge-of-data-structures-and-algorithms?redirected_qid=2804253
https://medium.com/educative/3-month-coding-interview-bootcamp-904422926ce8
https://stratos.seas.harvard.edu/files/stratos/files/periodictabledatastructures.pdf
https://hackernoon.com/10-data-structure-algorithms-and-programming-courses-to-crack-any-coding-interview-e1c50b30b927
https://www.bitdegree.org/user/course/data-structures-and-algorithms
https://news.ycombinator.com/item?id=18236396 . Favorite algos
https://aryaboudaie.com/interviews/python/technical/2017/11/06/python-for-interviews.html
https://www.youtube.com/watch?v=vS4Zn1a9KUc
https://www.youtube.com/watch?v=7Hlb8YX2-W8
http://csc.kth.se/~jsannemo/slask/main.pdf Book
https://cses.fi/book.pdf Book
http://e-maxx.ru/index.php
https://blog.datopia.io/2018/11/03/hitchhiker-tree/
https://github.com/tayllan/awesome-algorithms
https://github.com/karan/Projects
http://cslibrary.stanford.edu/
<http://www.idryman.org/blog/2017/07/04/learn-hash-table-the-hard-way/ https://medium.com/engineering-brainly/locality-sensitive-hashing-explained-304eb39291e4 Local sensitive hash https://sagi.io/2017/07/bloom-filters-for-the-perplexed/https://news.ycombinator.com/item?id=15346337 https://stackoverflow.com/questions/3260653/algorithm-to-find-top-10-search-terms/3260905#3260905
http://yucoding.blogspot.com/2017/01/leetcode-question-range-sum-query.html http://massivealgorithms.blogspot.com/http://ruslanledesma.com/ http://algorithms.tutorialhorizon.com/
https://www.youtube.com/watch?v=GiCWlXEhht8 https://www.youtube.com/watch?v=il_t1WVLNxk https://www.youtube.com/watch?v=e5D3NepYvLE https://www.youtube.com/watch?v=eaYX0Ee0Kcg https://www.youtube.com/watch?v=zGv3hOORxh0
http://quiz.geeksforgeeks.org/amazons-most-frequently-asked-interview-questions-set-2/ https://www.geeksforgeeks.org/amazons-asked-interview-questions/
https://www.youtube.com/watch?v=eaYX0Ee0Kcg https://www.udemy.com/11-essential-coding-interview-questions/?couponCode=AMAZON2
Google interview
https://habr.com/post/419945/
https://news.ycombinator.com/item?id=18374938
https://habr.com/company/google/blog/425279/
https://medium.com/@alexgolec/google-interview-questions-deconstructed-the-knights-dialer-f780d516f029
https://www.youtube.com/watch?v=5o-kdjv7FD0
https://interviewing.io/recordings
https://habr.com/post/419725/ Non-symmetric dime simulation
http://www.cmsmagazine.ru/library/items/programming/80-problems-with-it-interviews/
https://saru.science/tech/2017/01/18/judy-arrays.html Judy array
https://www.reddit.com/r/cpp/comments/9afpq7/whats_your_favorite_data_structure/
https://habr.com/post/420605/
https://discuss.codechef.com/questions/48877/data-structures-and-algorithms
https://hackernoon.com/50-data-structure-and-algorithms-interview-questions-for-programmers-b4b1ac61f5b0
https://en.wikipedia.org/wiki/Ant_on_a_rubber_rope
https://www.youtube.com/playlist?list=PLBZBJbE_rGRVnpitdvpdY9952IsKMDuev
Egg drop
https://habr.com/post/423679/
http://declanoller.com/2018/09/03/the-egg-drop-puzzle-brute-force-dynamic-programming-and-markov-decision-processes/
Find 1st element in rotated sorted array
def bs(lst, start, end):
print ("start=",start, "end=", end)
if start == end: return start
m = (start+end)//2
print ("middle=",m, lst[m])
if m < end and lst[m+1] < lst[m]:
return m+1
if m > start and lst[m] < lst[m-1]:
return m
if lst[end] > lst[m]:
return bs(lst, start, m -1)
else:
return bs(lst, m+1, end)
def find(l):
start=0
end=len(l)-1
i= bs(l, start, end)
return i
if __name__ =="__main__":
print ("main")
l1=[5,10,20, 1,2,3,4]
print(l1)
i=find(l1)
print ("index=",i)
l2=[20, 1,2,3,4]
print(l2)
i=find(l2)
print ("index=",i)
Hash function and hashtable
https://habr.com/ru/company/otus/blog/448992/
https://honest.engineering/posts/hash-functions-survival-guide
https://en.wikipedia.org/wiki/Hash_function
https://rcoh.me/posts/hash-map-analysis/
https://attractivechaos.wordpress.com/2018/10/01/advanced-techniques-to-implement-fast-hash-tables/
https://softwareengineering.stackexchange.com/questions/49550/which-hashing-algorithm-is-best-for-uniqueness-and-speed
https://rcoh.me/posts/hash-map-analysis/
https://www.reddit.com/r/programming/comments/9lw5pu/advanced_techniques_to_implement_fast_hash_tables/
Consistent Hashing
https://www.toptal.com/big-data/consistent-hashing
https://medium.com/@dgryski/consistent-hashing-algorithmic-tradeoffs-ef6b8e2fcae8 Consistent hashing
https://dzone.com/articles/simple-magic-consistent
Locality sensitive hashing
https://en.wikipedia.org/wiki/Locality-sensitive_hashing
http://unboxresearch.com/articles/lsh_post1.html
https://dev.to/s_awdesh duplicates in array, dual pivot sort
Dynamic programming
https://habr.com/post/418867/
https://habr.com/post/423939/
https://ngoldbaum.github.io/posts/dynamic-programming/
https://news.ycombinator.com/item?id=20285242
https://avikdas.com/2019/06/24/dynamic-programming-for-machine-learning-hidden-markov-models.html
https://avikdas.com/2019/04/15/a-graphical-introduction-to-dynamic-programming.html
https://medium.freecodecamp.org/unmasking-bitmasked-dynamic-programming-25669312b77b
https://blogarithms.github.io/articles/2019-03/cracking-dp-part-one
https://www.geeksforgeeks.org/min-cost-path-dp-6/
https://macnovicetomaster.wordpress.com/2019/06/05/dynamic-programming-practice-problems/
Dynamic Programming- Python implementation of Min Cost Path on grid problem
def minCost(cost, m, n):
# Instead of following line, we can use int tc[m+1][n+1] or
# dynamically allocate memoery to save space. The following
# line is used to keep te program simple and make it working
# on all compilers.
R = 3
C = 3
tc = [[0 for x in range(C)] for x in range(R)]
tc[0][0] = cost[0][0]
# Initialize first column of total cost(tc) array
for i in range(1, m+1):
tc[i][0] = tc[i-1][0] + cost[i][0]
# Initialize first row of tc array
for j in range(1, n+1):
tc[0][j] = tc[0][j-1] + cost[0][j]
# Construct rest of the tc array
for i in range(1, m+1):
for j in range(1, n+1):
tc[i][j] = min(tc[i-1][j-1], tc[i-1][j], tc[i][j-1]) + cost[i][j]
return tc[m][n]
Driver program to test above functions
cost = [[1, 2, 3],
[4, 8, 2],
[1, 5, 3]]
print(minCost(cost, 2, 2))
Count number of ways to reach mat[m-1][n-1] from mat[0][0] in a matrix mat[][]
Returns The number of way from top-left to mat[m-1][n-1]
def countPaths(m, n):
dp = [[0 for i in range(m + 1)]
for j in range(n + 1)]
for i in range(1, m + 1):
for j in range(1, n + 1):
if (i == 1 or j == 1):
dp[i][j] = 1
else:
dp[i][j] = (dp[i - 1][j] +
dp[i][j - 1])
return dp[m][n]
Driver code
if name ==”main”:
n = 5
m = 5
print(countPaths(n, m))
https://hackernoon.com/dynamic-programming-for-brute-forcers-36f26c2466cf>
https://medium.com/@codingfreak/top-50-dynamic-programming-practice-problems-4208fed71aa3
https://lukasmericle.github.io/dynprotut/
Others
http://www.cmsmagazine.ru/library/items/programming/80-problems-with-it-interviews/
Regular expression
https://regexr.com/
https://news.ycombinator.com/item?id=20608032
https://deniskyashif.com/implementing-a-regular-expression-engine/
https://deniskyashif.com/2019/02/17/implementing-a-regular-expression-engine/
https://www.youtube.com/watch?v=l3hda49XcDE
https://nikic.github.io/2012/06/15/The-true-power-of-regular-expressions.html
https://rcoh.me/posts/no-magic-regular-expressions-part-3/
https://medium.com/@cdiggins/beyond-regular-expressions-an-introduction-to-parsing-context-free-grammars-ee77bdab5a92
Inerpretators Compiles
https://bernsteinbear.com/blog/bytecode-interpreters/
https://news.ycombinator.com/item?id=18821475