1 |
Linear Search |
C++ |
Searching |
2 |
Binary Search |
C++ |
Searching |
3 |
Bubble Sort |
C++ |
Sorting |
4 |
Selection Sort |
C++ |
Sorting |
5 |
Insertion Sort |
C++ |
Sorting |
6 |
Quick Sort |
C++ |
Sorting |
8 |
Merge Sort |
C++ |
Sorting |
9 |
N-Queens |
C++ |
Backtracking |
10 |
Singly Linked List |
C++ |
Linked List |
11 |
Doubly Linked List |
C++ |
Linked List |
12 |
Circular Linked List |
C++ |
Linked List |
13 |
Binary Search Tree - Pre, In, Post, Level, BFS, DFS |
C++ |
Trees |
14 |
Trie |
C++ |
Trees |
15 |
Segment Tree - Range Minimum Query |
C++ |
Trees |
16 |
Matrix Multiplication |
C++ |
Dynamic Programming |
17 |
Nth Catalan Number |
C++ |
Dynamic Programming |
18 |
Binomial Coefficient |
C++ |
Dynamic Programming |
19 |
0/1 Knapsack |
C++ |
Dynamic Programming |
20 |
Equal Subset Sum Partition |
C++ |
Dynamic Programming |
21 |
Subset Sum |
C++ |
Dynamic Programming |
22 |
Minimum Subset Sum Difference |
C++ |
Dynamic Programming |
23 |
Count of Subset Sum |
C++ |
Dynamic Programming |
24 |
Target Sum |
C++ |
Dynamic Programming |
25 |
Unbounded Knapsack |
C++ |
Dynamic Programming |
26 |
Rod Cutting |
C++ |
Dynamic Programming |
27 |
Coin Change |
C++ |
Dynamic Programming |
28 |
Minimum Coin Change |
C++ |
Dynamic Programming |
29 |
Maximum Ribbon Cut |
C++ |
Dynamic Programming |
30 |
Nth-Fibonacci |
C++ |
Dynamic Programming |
31 |
Staircase |
C++ |
Dynamic Programming |
32 |
Minimum Jumps to reach the end |
C++ |
Dynamic Programming |
33 |
Minimum Jumps with fee |
C++ |
Dynamic Programming |
34 |
House Thief |
C++ |
Dynamic Programming |
35 |
Longest Palindromic Subsequence |
C++ |
Dynamic Programming |
36 |
Longest Palindromic Substring |
C++ |
Dynamic Programming |
37 |
Palindromic Partitioning |
C++ |
Dynamic Programming |
38 |
Longest Common Substring |
C++ |
Dynamic Programming |
39 |
Longest Common Subsequence |
C++ |
Dynamic Programming |
40 |
Longest Increasing Subsequence |
C++ |
Dynamic Programming |
41 |
Maximum Sum Increasing Subsequence |
C++ |
Dynamic Programming |
42 |
Shortest Common Supersequence |
C++ |
Dynamic Programming |
43 |
Longest Repeating Subsequence |
C++ |
Dynamic Programming |
44 |
Subsequence Pattern Matching |
C++ |
Dynamic Programming |
45 |
Longest Bitonic Subsequence |
C++ |
Dynamic Programming |
46 |
Longest Alternating Subsequence |
C++ |
Dynamic Programming |
47 |
Edit Distance |
C++ |
Dynamic Programming |
48 |
Strings Interleaving |
C++ |
Dynamic Programming |
49 |
Print LCS |
C++ |
Dynamic Programming |
50 |
Naive |
C++ |
DSU |
51 |
Path Compression |
C++ |
DSU |
52 |
Union By Rank |
C++ |
DSU |
53 |
Union By Size |
C++ |
DSU |
54 |
Dijkstra - Single Source Shortest Path |
C++ |
Graphs |
55 |
Topological Order |
C++ |
Graphs |
56 |
Kosaraju - Strongly Connected Components |
C++ |
Graphs |
57 |
Nth-Fibonacci using Matrix Exponentiation |
C++ |
Misc |
58 |
Largest Sum Continuous Subarray (Kadane's Algorithm) |
C++ |
Misc |
59 |
Voting Algorithm (Boyer–Moore Majority Voting Algorithm) |
C++ |
Misc |
60 |
Next Permutation |
C++ |
Misc |
61 |
Trapping Rain Water |
C++ |
Misc |
62 |
Trapping Rain Water (DP) |
C++ |
Misc |