/Algorithms-Illuminated---Part-1

This is the implementation of 1st 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 1.

Primary LanguageJupyter Notebook

Algorithms Illuminated - Part 1

This is the implementation of 1st 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 1.

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. Karatsuba Multiplication Algorithm
  2. Recursive Mulitiplication Algorithm
  3. Bruteforce Multiplication Algorithm from 3rd Grade
  4. Inversion Count in an Array (Collaborative Filtering) (Divide and Conquer Approach)
  5. Matrix Multiplication Brute Force Approach
  6. Matrix Multiplication using Recursion (Divide and Conquer Approach)
  7. Strassen Algorithm for Matrix Multiplication (Divide and Conquer Approach)
  8. Closest Pair of Points
  9. Quick Sort (In-place Sort)
  10. RSelect Algorithm to find ith Smallest Element in an Array
  11. DSelect Algorithm to find ith Smallest Element in an Array

Requirements:

Tested on

python v3.7
go v1.14