Algorithms

Step-by-step problem-solving techniques asked in every coding interview.

Intermediate8 modules26 lessonsFree · no sign-up
0 of 26 lessons published
View syllabus

Syllabus

01 SearchingFinding things fast. 2 lessons
  1. 1.1Linear searchComing soon
  2. 1.2Binary search and its variationsComing soon
02 SortingPutting things in order. 5 lessons
  1. 2.1Bubble, selection and insertion sortComing soon
  2. 2.2Merge sortComing soon
  3. 2.3Quick sortComing soon
  4. 2.4Heap sortComing soon
  5. 2.5Counting and radix sortComing soon
03 Recursion and BacktrackingTrying every possibility smartly. 3 lessons
  1. 3.1Recursion patternsComing soon
  2. 3.2Backtracking: N-Queens and SudokuComing soon
  3. 3.3Permutations and subsetsComing soon
04 Greedy AlgorithmsChoosing the best option at each step. 3 lessons
  1. 4.1Greedy approachComing soon
  2. 4.2Activity selection and job schedulingComing soon
  3. 4.3Huffman codingComing soon
05 Divide and ConquerSplit, solve and merge. 2 lessons
  1. 5.1Divide and conquer techniqueComing soon
  2. 5.2Master theoremComing soon
06 Dynamic ProgrammingRemembering answers to avoid repeated work. 5 lessons
  1. 6.1What is dynamic programming?Coming soon
  2. 6.2Memoization vs tabulationComing soon
  3. 6.3Knapsack problemsComing soon
  4. 6.4Longest common subsequenceComing soon
  5. 6.5DP on gridsComing soon
07 Graph AlgorithmsPaths and networks. 4 lessons
  1. 7.1Dijkstra's algorithmComing soon
  2. 7.2Bellman-FordComing soon
  3. 7.3Floyd-WarshallComing soon
  4. 7.4Minimum spanning tree: Prim and KruskalComing soon
08 Bit Manipulation and MathsLow-level tricks. 2 lessons
  1. 8.1Bit manipulationComing soon
  2. 8.2Number theory basicsComing soon