/Algorithms-Illuminated---Part-2

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.

Primary LanguageJupyter Notebook

Algorithms Illuminated - Part 2

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

Topics Covered:

  1. Graph Representation in Adjacency List Format
  2. Generic Search Algorithm
  3. Breadth First Search
  4. Connected Components for Undirected Graph (UCC Algorithm)
  5. Depth First Search
  6. Topological Ordering (Topological Sort) using Depth-First Search
  7. Strongly Connected Components for Directed Graph (Kosaraju Algorithm)
  8. Dijkstra Algorithm
  9. Dijkstra Algorithm using Heaps
  10. Heap Implementation
  11. Heap Sort
  12. Application: Median Maintenance using Heap
  13. Sorted Array: Supported Operations
  14. Binary Search Trees: Supported Operations
  15. Application: Median Maintenance using Search Tree
  16. Two-Sum Problem using HashMap and Recursion

Requirements:

Tested on

python v3.7
go v1.14