## Chapters

1. Getting started with algorithms
2. Algorithm Complexity
3. Graph
4. Graph Traversals
5. Dijkstra’s Algorithm
6. A* Pathfinding
7. A* Pathfinding Algorithm
8. Dynamic Programming
9. Kruskal’s Algorithm
10. Greedy Algorithms
11. Applications of Greedy technique
12. Prim’s Algorithm
13. Bellman–Ford Algorithm
14. Line Algorithm
15. Floyd-Warshall Algorithm
16. Catalan Number Algorithm
17. polynomial-time bounded algorithm for Minimum Vertex Cover
19. Knuth Morris Pratt (KMP) Algorithm
20. Edit Distance Dynamic Algorithm
21. Online algorithms
22. Big-O Notation
23. Sorting
24. Bubble Sort
25. Merge Sort
26. Insertion Sort
27. Bucket Sort
28. Quicksort
29. Counting Sort
30. Heap Sort
31. Cycle Sort
32. Odd-Even Sort
33. Selection Sort
34. Trees
35. Binary Search Trees
36. Check if a tree is BST or not
37. Binary Tree traversals
38. Lowest common ancestor of a Binary Tree
39. Searching
40. Substring Search
42. Depth First Search
43. Hash Functions
44. Travelling Salesman
45. Knapsack Problem
46. Matrix Exponentiation
47. Equation Solving
48. Longest Common Subsequence
49. Longest Increasing Subsequence
50. Dynamic Time Warping
51. Pascal’s Triangle
52. Fast Fourier Transform
53. Algo:- Print a m*n matrix in square wise
54. Check two strings are anagrams
55. Applications of Dynamic Programming
56. Pseudocode