# Programming Topics

Problem link

Programming topics to cover

- Analysis of algorithm
- Sorting algorithm
- Selection sort
- Bubble sort
- Insertion sort
- Merge sort
- Heap sort
- Quicksort

- Searching algorithm
- Linear search
- Binary search

- Greedy algorithm
- Activity selection
- Kruskal’s minimum spanning tree
- Huffman coding
- Prim’s minimum spanning tree
- Dijkstra’s shortest path
- Job sequencing

- Dynamic algorithm
- Overlapping subproblem
- Longest common subsequence
- 0-1 Knapsack problem
- Longest palindromic substring

- Pattern search algorithm
- Rabin-karp

- String algorithm
- Manacher’s algorithm

- Backtracking
- The knight’s tour
- N queen
- Hamiltonian cycle
- Sudoku

- Divide and conquer
- Geometric algorithm
- Mathematical algorithm
- Bit algorithm
- Graph algorithm
- Randomized algorithm
- Branch and bound