the list is not completed yet, under development
- Bubble Sort
- Insertion Sort
- Selection Sort
- Merge Sort
- Quick Sort
- Heap Sort
- Radix Sort
- Bucket Sort
- Shell Sort
- Counting Sort
- Tim Sort
- Linear Search
- Binary Search
- Interpolation Search
- Exponential Search
- Hashing (e.g., using hash tables)
- Depth-First Search (DFS)
- Breadth-First Search (BFS)
- Dijkstra's Algorithm
- Bellman-Ford Algorithm
- Floyd-Warshall Algorithm
- Kruskal's Algorithm (Minimum Spanning Tree)
- Prim's Algorithm (Minimum Spanning Tree)
- Topological Sort
- Strongly Connected Components
- Eulerian Path/Circuit
- Hamiltonian Path/Cycle
- Travelling Salesman Problem
- Maximum Flow (Ford-Fulkerson, Edmonds-Karp)
- Minimum Cut
- Bipartite Matching (Hopcroft-Karp Algorithm)
- Fibonacci Sequence
- Knapsack Problem
- Longest Common Subsequence
- Edit Distance
- Longest Increasing Subsequence
- Matrix Chain Multiplication
- Coin Change Problem
- Rod Cutting Problem
- Palindrome Partitioning
- Subset Sum
- Tree Traversals (Inorder, Preorder, Postorder)
- Binary Search Trees (BST)
- AVL Trees
- Red-Black Trees
- B-Trees
- Trie (Prefix Tree)
- Lowest Common Ancestor (LCA)
- Segment Trees
- Fenwick Trees (Binary Indexed Trees)
- Huffman Coding
- Brute Force String Matching
- Knuth-Morris-Pratt (KMP) Algorithm
- Boyer-Moore Algorithm
- Longest Palindromic Substring
- Rabin-Karp Algorithm
- String Edit Distance (Levenshtein Distance)
- Regular Expression Matching
- Binary Heap
- Fibonacci Heap
- Priority Queue (Min-Heap/Max-Heap)
- Hash Functions
- Open Addressing
- Separate Chaining
- Linear Probing
- Quadratic Probing
- Cuckoo Hashing
- Convex Hull (Graham's Scan, Jarvis March)
- Closest Pair of Points
- Line Intersection
- Polygon Triangulation
- Union-Find (Disjoint Set Union)
- Interval Tree
- Suffix Array
- Suffix Tree
- Minimum Spanning Arborescence
- Game Theory (e.g., Nim Game)
- Longest Path in a DAG
- Maximum Subarray Sum (Kadane's Algorithm)
- Majority Element (Boyer-Moore Voting Algorithm)
- Hash-based Set and Map (e.g., HashSet, HashMap)
- Knutt-Morris-Pratt (KMP) : algorithm is a pattern matching algorithm that improves upon naive pattern matching by utilizing information from previous matches to avoid unnecessary re-comparisons
- manacher's algorithm : used to find the longest palindromic substring in any given string
- Hamming Weight : find number of 1 bits in a binary representation