/Algorithms-Illuminated---Part-3

This is the implementation of 3rd 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 3.

Primary LanguageJupyter Notebook

Algorithms Illuminated - Part 3

This is the implementation of 3rd 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 3.

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. Scheduling Problem using Greedy Programming
  2. Huffman Algorithm for finding Prefix-free binary codes using Heaps
  3. Prim's Algorithm for finding Minimum Spanning Tree
  4. Prim's Algorithm Using Heaps
  5. Kruskal Algorithm for finding Minimum Spanning Tree
  6. Union-Find or Disjoint Set Data Structure Implementation
  7. Kruskal Algorithm using Union-Find Based or Disjoint-Set Data Structure
  8. Weighted Independent Set Problem using Dynamic Programming
  9. Weighted Independent Set Problem Reconstrution
  10. Knapsack Problem
  11. Knapsack Reconstruction
  12. Needleman–Wunsch algorithm for String Sequence Problem
  13. Needleman–Wunsch Reconstruction
  14. Optimal Binary Search Tree Implementation using Dynamic Programming (Includes Reconstruction)
  15. Bellman-Ford Algorithm for finding Shortest-Path of Graphs with Negative edge weights
  16. Floyd-Warshall Algorithm for finding All-Pairs Shortest Paths

Requirements:

Tested on

python v3.7
go v1.14