Chapters
- Getting started with algorithms
- Algorithm Complexity
- Big-O Notation
- Trees
- Binary Search Trees
- Check if a tree is BST or not
- Binary Tree traversals
- Lowest common ancestor of a Binary Tree
- Graph
- Graph Traversals
- Dijkstra’s Algorithm
- A* Pathfinding
- A* Pathfinding Algorithm
- Dynamic Programming
- Applications of Dynamic Programming
- Kruskal's Algorithm
- Greedy Algorithms
- Applications of Greedy technique
- Prim's Algorithm
- Bellman–Ford Algorithm
- Line Algorithm
- Floyd-Warshall Algorithm
- Catalan Number Algorithm
- Multithreaded Algorithms
- Knuth Morris Pratt (KMP) Algorithm
- Edit Distance Dynamic Algorithm
- Online algorithms
- Sorting
- Bubble Sort
- Merge Sort
- Insertion Sort
- Bucket Sort
- Quicksort
- Counting Sort
- Heap Sort
- Cycle Sort
- Odd-Even Sort
- Selection Sort
- Searching
- Substring Search
- Breadth-First Search
- Depth First Search
- Hash Functions
- Travelling Salesman
- Knapsack Problem
- Equation Solving
- Longest Common Subsequence
- Longest Increasing Subsequence
- Check two strings are anagrams
- Pascal's Triangle
- Algo:- Print a m*n matrix in square wise
- Matrix Exponentiation
- polynomial-time bounded algorithm for Minimum Vertex Cover
- Dynamic Time Warping
- Fast Fourier Transform
- Pseudocode
https://cdn.shopify.com/s/files/1/0298/0039/8988/files/AlgorithmsNotesForProfessionals.pdf?868