Starting a new Lecture Notes Series on MIT 6.046J Design and Analysis of Algorithms, Spring 2015
Youtube Lecture Playlist CreditsChannel Name: MIT OpenCourseWare
So Let Us Start to This Journey of Learning
MIT 6.046J Design and Analysis of Algorithms, Spring 2015 By Lecture Notes together!
Lecture 1: 1. Course Overview, Interval Scheduling
Lecture 3: The Calculus You Need
Lecture 4: 3. Divide & Conquer: FFT
Lecture 5: R2. 2-3 Trees and B-Trees
Lecture 6: 4. Divide & Conquer: van Emde Boas Trees
Lecture 7: 5. Amortization: Amortized Analysis
Lecture 8: 6. Randomization: Matrix Multiply, Quicksort
Lecture 10: 7. Randomization: Skip Lists
Lecture 11: 8. Randomization: Universal & Perfect Hashing
Lecture 12: R5. Dynamic Programming
Lecture 13: 9. Augmentation: Range Trees
Lecture 14: 10. Dynamic Programming: Advanced DP
Lecture 16: 12. Greedy Algorithms: Minimum Spanning Tree
Lecture 17: R6. Greedy Algorithms
Lecture 18: 13. Incremental Improvement: Max Flow, Min Cut
Lecture 19: 14. Incremental Improvement: Matching
Lecture 20: R7. Network Flow and Matching
Lecture 21: 15. Linear Programming: LP, reductions, Simplex
Lecture 23: R8. NP-Complete Problems
Lecture 24: 17. Complexity: Approximation Algorithms
Lecture 25: 18. Complexity: Fixed-Parameter Algorithms
Lecture 27: 19. Synchronous Distributed Algorithms: Symmetry-Breaking. Shortest-Paths Spanning Trees
Lecture 29: R10. Distributed Algorithms
Lecture 30: 21. Cryptography: Hash Functions
Lecture 31: 22. Cryptography: Encryption
Lecture 32: R11. Cryptography: More Primitives