An algorithm is a procedure or formula for solving a problem, based on conducting a sequence of specified actions.
Algorithm plays an important role in software engineering. It is one of the major subjects compulsory for students studying computer science, computer engineering or similar IT course in university/college.
Algorithms Notes for Professionals is a freely downloadable PDF e-book compiled from Stack Overflow Documentation, released under Creative Common BY-SA.
Among the algorithms discussed in this e-book are:
- Graph
- Graph Traversals
- Dijkstra’s Algorithm
- A* Pathfinding
- Dynamic Programming
- Kruskal's Algorithm
- Greedy Algorithms
- Prim's Algorithm
- Bellman–Ford Algorithm
- Line Algorithm
- Floyd-Warshall Algorithm
- Catalan Number Algorithm
- polynomial-time bounded algorithm for Minimum Vertex Cover
- Multithreaded Algorithms
- Knuth Morris Pratt (KMP) Algorithm
- Edit Distance Dynamic Algorithm
- Online algorithms
- Big-O Notation
- Sorting
- Bubble Sort
- Merge Sort
- Insertion Sort
- Bucket Sort
- Quicksort
- Counting Sort
- Heap Sort
- Cycle Sort
- Odd-Even Sort
- Selection Sort
- Trees
- Binary Search Trees
- Binary Tree traversals
- Lowest common ancestor of a Binary Tree
- Searching
- Substring Search
- Breadth-First Search
- Depth First Search
- Hash Functions
- Travelling Salesman
- Knapsack Problem
- Matrix Exponentiation
- Equation Solving
- Longest Common Subsequence
- Longest Increasing Subsequence
- Dynamic Time Warping
- Pascal's Triangle
- Fast Fourier Transform
- Algo:- Print a m*n matrix in square wise
- Check two strings are anagrams
- Dynamic Programming
Click here to download Algorithms Notes for Professionals for free.