You are not logged in. Please login at www.codechef.
com to post
your questions!
questions
CodeChef Discussion
tags
users
badges
unanswered
Search Here...
Data Structures and Algorithms
ask a question
questions
about
tags
faq
users
Follow this question
By Email:
475
Hi all, I need your help to make a list of most used data structures and algorithms along with their tutorials,
implementation and some problems on them. It will be helpful to everyone in many ways. I request everyone to
contribute to this list by providing links to tutorials, problems, etc. I will keep updating this list regularly.
1. Binary Search : Tutorial, Problems, Tutorial, Implementation, Problem
276
Once you sign in you will be able to
subscribe for any updates here
By RSS:
Answers
Answers and Comments
2. Quicksort : Tutorial, Implementation, Tutorial
3. Merge Sort : Tutorial, Implementation, Tutorial
Tags:
4. Suffix Array : Tutorial, Tutorial, Implementation, Tutorial, Implementation, Problem, Problem
algorithm 672
5. KnuthMorrisPratt Algorithm (KMP) : Tutorial, Tutorial, Implementation, Tutorial, Problem
datastructure 445
6. RabinKarp Algorithm : Tutorial, Implementation, Tutorial, Problem, Problem
datastructure 350
algorithms 335
7. Tries : Tutorial, Problems, Tutorial : I, II, Tutorial, Problem, Problem, Problem
Asked: 31 Jul '14, 23:29
8. Depth First Traversal of a graph : Tutorial, Impelementation, Tutorial, Problems, Problem, Problem, Problem
Seen: 68,501 times
9. Breadth First Traversal of a graph : Tutorial, Impelementation, Tutorial, Problems, Problem, Problem, Problem,
Flood Fill
Last updated: 21 Feb, 15:36
10. Dijkstra's Algorithm : Tutorial, Problems, Problem, Tutorial(greedy), Tutorial (with heap), Implementation,
Problem, Problem
Related questions
Algorithm Analysis
11. Binary Indexed Tree : Tutorial, Problems, Tutorial, Original Paper, Tutorial, Tutorial, Problem, Problem,
Problem, Problem, Problem, Problem, Problem
12. Segment Tree (with lazy propagation) : Tutorial, Implementation, Tutorial, Tutorial, Problems, Implementation,
Tutorial, Implementation and Various Uses, Persistent Segment Tree, problems same as BIT, Problem,
Problem/HLD is used as well/
Machine Dependent constants
algorithms
Binary Indexed Tree (Fenwick Tree)
How to approach Devu and Churu (IIT
13. Z algorithm : Tutorial, Problem, Tutorial, problems same as KMP.
14. Floyd Warshall Algorithm : Tutorial, Implementation, Problem, Problem
15. Sparse Table(RMQ) : Tutorial, Problems, Tutorial, Implementation(C++), Java implementation
Kanpur
Monthly
rpogramming
contest
problem)
InterView:Fruitful Websites
Awesome resource for DS and Algorithms
16. Heap / Priority Queue / Heapsort : Implementation, Explanation, Tutorial, Implementation, Problem, Chapter
from CLRS
17. Modular Multiplicative Inverse
18. nCr % M
19. Suffix Automaton : Detailed Paper, Tutorial, Implementation (I), Tutorial, Implementation (II), Problem,
Problem, Problem, Problem, Tutorial, Implementation
20. Lowest Common Ancestor : Tutorial, Problems, Paper, Paper, Problem, Problem, Problem
21. Counting Inversions : Divide and Conquer, Segment Tree, Fenwick Tree, Problem
22. Euclid's Extended Algorithm
23. Suffix Tree : Tutorial, Tutorial, Intro, Construction : I, II, Implementation, Implementation, Problem, Problem,
Problem, Problem
24. Dynamic Programming : Chapter from CLRS(essential), Tutorial, Problems, Problem, Problem, Problem,
Problem, Tutorial, Problem, Problem, Problem, Longest Increasing Subsequence, Bitmask DP, Bitmask DP,
Optimization, Problem, Problem, Problem, Problem, Problem, Problem, Problem, DP on Trees : I, II
25. Basic Data Structures : Tutorial, Stack Implementation, Queue Implementation, Tutorial, Linked List
Implementation
26. Logarithmic Exponentiation
27. Graphs : Definition, Representation, Definition, Representation, Problem, Problem
28. Minimum Spanning Tree : Tutorial, Tutorial, Kruskal's Implementation, Prim's Implementation, Problem,
Problem, Problem, Problem, Problem
29. Efficient Prime Factorization
Hashing and Counting Sort
Which data structure to use for this task?
A question on Bubble Sort
30. Combinatorics : Tutorial, Problems, Problem, Tutorial
31. Union Find/Disjoint Set : Tutorial, Tutorial, Problems, Problem, Problem, Problem
32. Knapsack problem : Solution, Implementation
33. AhoCorasick String Matching Algorithm : Tutorial, Implementation, Problem, Problem, Problem, Problem
34. Strongly Connected Components : Tutorial, Implementation, Tutorial, Problem, Problem, Problem
35. Bellman Ford algorithm : Tutorial, Implementation, Tutorial, Implementation, Problem, Problem
36. Heavylight Decomposition : Tutorial, Problems, Tutorial, Implementation, Tutorial, Implementation,
Implementation, Problem, Problem, Problem
37. Convex Hull : Tutorial, Jarvis Algorithm Implementation, Tutorial with Graham scan, Tutorial, Implementation,
Problem, Problem, Problem, Problem, Problem
38. Line Intersection : Tutorial, Implementation, Tutorial, Problems
39. Sieve of Erastothenes
40. Interval Tree : Tutorial, Implementation, Problem, Problem, Problem, Problem, Problem, Problem, Tutorial
41. Counting Sort
42. Probabilities
43. Matrix Exponentiation : Tutorial, Tutorial
44. Network flow : (Max Flow)Tutorial : I, II, Max Flow(FordFulkerson) Tutorial, Implementation, (Min Cut)
Tutorial, Implementation, (Min Cost Flow)Tutorial : I, II, III, Dinic's Algorithm with Implementation, Max flow by
Edmonds Karp with Implementation, Problem, Problem, Problem, Problem, Problem, Problem, Problem,
Problem, Problem, Problem, Problem, Problem, Problem, Problem, Problem
45. Kd tree : Tutorial, Tutorial, Implementation, Problem
46. Deque
47. Binary Search Tree : Tutorial, Implementation, Searching and Insertion, Deletion
48. Quick Select : Implementation, Implementation
49. Treap/Cartesian Tree : Tutorial(detailed), Tutorial, Implementation, Uses and Problems, Problem, Problem
50. Game Theory : Detailed Paper, Tutorial, Problems, Grundy Numbers, Tutorial with example problems I, II, III,
IV, Tutorial, Problems, Problem, Problem, Problem, Problem, Problem, Problem, Problem, Problem, Problem,
Problem, Problem, Nim
51. STL (C++) : I, II, Crash Course
52. Maximum Bipartite Matching
53. Manacher's Algorithm : Implementation, Tutorial, Tutorial, Implementation, Tutorial, Implementation, Problem,
Problem, Problem
54. MillerRabin Primality Test : Code
55. Stable Marriage Problem
56. Hungarian Algorithm, Tutorial
57. Sweep line Algorithm : I, II
58. LCP : Tutorial, Implementation, Tutorial, Implementation
59. Gaussian Elimination
60. Pollard Rho Integer Factorization, problem
61. Topological Sorting
62. Detecting Cycles in a Graph : Directed I, II Undirected : I
63. Geometry : Basics, Tutorial
64. Backtracking : N queens problem, Tug of War, Sudoku
65. Eulerian and Hamiltonian Paths : Tutorial, Tutorial, (Eulerian Path and Cycle)Implementation, (Hamiltonian
Cycle)Implementation
66. Graph Coloring : Tutorial, Implementation
67. Meet in the Middle : Tutorial, Implementation
68. Arbitrary Precision Integer(BigInt), II
69. Radix Sort, Bucket Sort
70. Johnson's Algorithm : Tutorial, Tutorial, Implementation
71. Maximal Matching in a General Graph : Blossom/Edmond's Algorithm, Implementation, Tutte Matrix, Problem
72. Recursion : I, II, Towers of Hanoi with explanation
73. Inclusion and Exclusion Principle : I, II
74. Coordinate Compression
75. SqrtDecomposition : Tutorial, Tutorial, Problem, Problem
76. LinkCut Tree : Tutorial, Wiki, Tutorial, Implementation, Problem, Problem, Problem, Problem
77. Euler's Totient Function : Explanation, Implementation, Problems, Explanation, Problems
78. Burnside Lemma : Tutorial, Tutorial, Problem
79. Edit/Levenshtein Distance : Tutorial, Introduction, Tutorial, Problem, Problem
80. Branch and Bound
81. Math for Competitive Programming
82. Mo's Algorithm : Tutorial and Problems
datastructure algorithms datastructure algorithm
edited 27 Jan, 22:59
asked 31 Jul '14, 23:29
neo1tech9_7
8.3k 51536
accept rate: 19%
22 Just a suggestion. Sort this list according to their usage. Like, the algorithms which are most used would be ranked first,
then the rarely used problems.
thespacedude (01 Aug '14, 15:10)
For BIT use this tutorial: http://stackoverflow.com/questions/15439233/bitusingabinaryindexedtree way better than
all other resources. And thanks for the resource.
after spending hours reading KMP from several sites and failing to understand, i found this one very straight forward and
well explaining: http://keithschwarz.com/interesting/code/?dir=knuthmorrispratt
travis_bickle (09 Sep '14, 22:41)
nishant2002 (03 Nov '14, 19:00)
@nishant2002 added :)
neo1tech9_7 (10 Nov '14, 00:52)
oldest
55 Answers:
1
newest
most voted
next
Really good work.
24
God Bless you and you will win IOI :)
link
answered 17 Aug '14, 11:59
tech_boy
1.2k 41931
accept rate: 10%
Amen, brother. :D and thanks
neo1tech9_7 (17 Aug '14, 13:06)
More concise collection of STL... http://www.sgi.com/tech/stl/
tech_boy (31 Aug '14, 14:13)
Thanks friends .These links are really useful for newbies like us. May Allah(swt) bless and guide all those who contributed
in collecting these links.
ahsankamal (13 Sep '14, 01:05)
A good initiative :)
29
link
answered 01 Aug '14, 05:18
its_pheonix
2.3k 62021
accept rate: 11%
link
28
The above link has lesser known but useful data structures.
link
answered 07 Aug '14, 10:54
codemaster1994
2.1k 72018
accept rate: 0%
Thanks a lot :)
neo1tech9_7 (07 Aug '14, 14:41)
For heavylight decomposition http://wcipeg.com/wiki/Heavylight_decomposition
17
link
answered 07 Aug '14, 13:48
rajat_dtc
1.7k 51422
accept rate: 7%
Thanks a lot :)
neo1tech9_7 (07 Aug '14, 23:27)
17
Matrix exponentiation : http://zobayer.blogspot.in/2010/11/matrixexponentiation.html
related problem : http://www.hackerearth.com/problem/algorithm/longwalksfromofficetohomesweethome1/
link
answered 12 Aug '14, 21:49
ravi0213
2.1k 41324
accept rate: 12%
Thanks a lot :)
neo1tech9_7 (13 Aug '14, 23:39)
11
Take a look of this website once....Explanation of all the algorithms from different sources can be found at one
place!!! http://algorithm.daqwest.com/
link
answered 05 Aug '14, 19:49
vicky002
186114
accept rate: 22%
Awesome :D . Thanks you just made making this list a lot easier.
neo1tech9_7 (05 Aug '14, 20:02)
we already have a topic for list of imp algo
http://discuss.codechef.com/questions/18752/whatarethemustknownalgorithmsforonlineprogrammingcontests
link
answered 01 Aug '14, 00:02
ravi0213
2.1k 41324
accept rate: 12%
I know, but it doesn't contain implementation , tutorial, problems, etc.
neo1tech9_7 (01 Aug '14, 00:06)
Nice Initiative I would recommend http://emaxx.ru/algo/ for the implementation and theory. Make use of google
translate. It also have a good set of questions in the end.
For DP I would recommend this the topic is nicely explained by Mimino.(For starters)
link
answered 04 Aug '14, 02:21
johri21
426136
accept rate: 14%
Added :). Though i prefer geeksforgeeks for implementation they comment their code in detail :) .
neo1tech9_7 (04 Aug '14, 03:06)
One might try http://emaxx.ru/ :) It's in Russian though, but Google translator might help.
link
answered 15 Aug '14, 14:35
gdisastery1
1.6k 41317
accept rate: 12%
See this: http://codeforces.com/blog/entry/5651 and https://onedrive.live.com/?
cid=a7b8002ee242b572&id=A7B8002EE242B572!3746
damn_me (07 Jan, 14:27)
I think stackoverflow can also be of immense help.
Really awesome effort.
link
answered 07 Aug '14, 12:42
ronakymca
1.1k 31223
accept rate: 19%
Yeah, I have added some links from stackoverflow
neo1tech9_7 (08 Aug '14, 04:15)
next
[hide preview]
community wiki
Post Your Answer
AboutCodeChef AboutDirecti CEO'sCorner
CodeChefCampusChapters CodeChefForSchools
2009,DirectiGroup.AllRightsReserved.
PoweredbyOSQA
ContactUs