If you don't understand sth, that's okay. What you need to do is to read a lot of material(I mean a few hundred pages) and complete all the exercises on your own. But remember to start with material that fits your ability level. Yes, that's how we get things done. Very simple ! So easy !
Great ! Then allow me to introduce you to the best introductory material: Introduction to Algorithms (Fourth Edition)
Before reading the solution to a problem in the book, I like to challenge myself to try to solve it myself. So exciting !!!
You must implement all the algorithms on your own, complete all the exercises on your own, and prove and derive all the theorems on your own. Turn off Copilot and only turn to ChatGPT for some advice when you are stuck for at least 5 minutes. This method may seem slow, but it is actually the most efficient way to learn. Wow, that's so exciting ! Let's do it !
Phase 1: Choose any theorem or exercise from the textbook and be able to prove or solve it entirely on your own.
Phase 2: "What I cannot create, I do not understand." Rewrite the entire textbook from memory, without referring to the original text.
TODO: all the exercises and problems in ch1-ch11 in the 4th edition book, I have only completed them in ch1-ch11 in the 3rd edition book
- 2024/5/6 12:00 - 5/7 22:00 : Chapter 2 Getting Started
- 5/7 22:00 - 5/8 22:10: Chapter 3: Characterizing Running Times, page 71-98
- 5/8 22:10 - 5/12 19:30 : Chapter 4: Divide-and-Conquer, page 98-148
- 5/12 19:30 - 5/17 8:30: Chapter 5: Probabilistic Analysis and Randomized Algorithms
- 5/17 8:30 - 5/18 15:40 : Chapter 6: Heapsort, page 178-204
- 5/18 15:40 - 5/20 19:00: Chapter 7: Quicksort, page 204-227
- 5/20 19:00 - 5/23 8:30 : Chapter 8: Sorting in Linear Time, page 227-249
- 5/23 8:30 - 5/25 10:30: Chapter 9: Medians and Order Statistics, page 249-270
- 5/25 10:30 - 5/26 6:30: Chapter 10: Elementary Data Structures , page 270-294
- 5/26 6:30 - 5/28 12:10: Chapter 11: Hash Tables, page 294-334
- 5/28 12:10 - 6/6 20:00: Chapter 12: Binary Search Trees, page 334-353
TODO: From Chapter 12 on, do exercises and problems using AI. You need to redo all the exercises and problems in Chapter 1-11 by the help of AI
- 6/6 20:00 - 6/13 20:00 : Chapter 13: Red-Black Trees, page 353-382
- 6/13 20:00 - 6/16, 8/7 20:45- : Chapter 14: Dynamic Programming, page 362-417
- 9/6 21:20 - : Chapter 14: Dynamic Programming, page 362-417
"We hope that this textbook provides you with an enjoyable introduction to the field of algorithms. We have attempted to make every algorithm accessible and interesting. Enjoy it !"
https://github.com/walkccc/CLRS
https://walkccc.me/CLRS/
https://sites.math.rutgers.edu/~ajl213/CLRS/CLRS.html
https://github.com/walkccc/CLRS-cpp