This is the implementation of 2nd Part in 3-Part Series of Algorithms Illuminated Book. All Implementations in this repository are written in both Python and Golang. Single IPython Notebook contains all Algorithms given in this Part 2.
This Book Series is also available as Algorithms Specialization by Tim Roughgarden on Coursera. If needed, please check this below link: https://www.coursera.org/specializations/algorithms
- Graph Representation in Adjacency List Format
- Generic Search Algorithm
- Breadth First Search
- Connected Components for Undirected Graph (UCC Algorithm)
- Depth First Search
- Topological Ordering (Topological Sort) using Depth-First Search
- Strongly Connected Components for Directed Graph (Kosaraju Algorithm)
- Dijkstra Algorithm
- Dijkstra Algorithm using Heaps
- Heap Implementation
- Heap Sort
- Application: Median Maintenance using Heap
- Sorted Array: Supported Operations
- Binary Search Trees: Supported Operations
- Application: Median Maintenance using Search Tree
- Two-Sum Problem using HashMap and Recursion