Skip to content

This repository includes all my code implementations in algorithms and data structures from MIT's introduction to algorithms course on MIT OCW

Notifications You must be signed in to change notification settings

MahmoudAbdelazim/MIT-Algorithms-6.006

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction to Algorithms 6.006

This repository will include all my code implementations in algorithms and data structures from MIT's introduction to algorithms course on MIT Open Course Ware.

Course's Content:

Unit 1: Introduction

  • Lecture 1 – Algorithmic Thinking, Peak Finding
  • Lecture 2 – Models of Computation, Python Cost Model, Document Distance

Unit 2: Sorting and Trees

  • Lecture 3 – Insertion Sort, Merge Sort
  • Lecture 4 – Heaps and Heap Sort
  • Lecture 5 – Binary Search Trees, BST Sort
  • Lecture 6 – AVL Trees, AVL Sort
  • Lecture 7 – Counting Sort, Radix Sort, Lower Bounds for Sorting and Searching

Unit 3: Hashing

  • Lecture 8 – Hashing with Chaining
  • Lecture 9 – Table Doubling, Karp-Rabin
  • Lecture 10 – Open Addressing, Cryptographic Hashing

Unit 4: Numerics

  • Lecture 11 – Integer Arithmetic, Karatsuba Multiplication
  • Lecture 12 – Square Roots, Newton's Method

Unit 5: Graphs

  • Lecture 13 – Breadth-First Search (BFS)
  • Lecture 14 – Depth-First Search (DFS), Topological Sorting

Unit 6: Shortest Paths

  • Lecture 15 – Single-Source Shortest Paths Problem
  • Lecture 16 – Dijkstra
  • Lecture 17 – Bellman-Ford
  • Lecture 18 – Speeding up Dijkstra

Unit 7: Dynamic Programming

  • Lecture 19 – Memoization, Subproblems, Guessing, Bottom-up; Fibonacci, Shortest Paths
  • Lecture 20 – Parent Pointers; Text Justification, Perfect-Information Blackjack
  • Lecture 21 – String Subproblems, Pseudopolynomial Time; Parenthesization, Edit Distance, Knapsack
  • Lecture 22 – Two Kinds of Guessing; Piano/Guitar Fingering, Tetris Training, Super Mario Bros.

Unit 8: Advanced Topics

  • Lecture 23 – Computational Complexity
  • Lecture 24 – Algorithms Research Topics

About

This repository includes all my code implementations in algorithms and data structures from MIT's introduction to algorithms course on MIT OCW

Topics

Resources

Stars

Watchers

Forks

Languages