diff --git a/docs/数据结构与算法/Algo.en.md b/docs/数据结构与算法/Algo.en.md index ffacd31b..597434f1 100644 --- a/docs/数据结构与算法/Algo.en.md +++ b/docs/数据结构与算法/Algo.en.md @@ -8,20 +8,20 @@ - Difficulty: 🌟🌟🌟 - Class Hour: 60 hours -This is the highest rated algorithms course on [Coursera](https://www.coursera.org), and Professor Robert Sedgewick has a magic way of making even the most complex algorithms look incredibly vivid and simple. To be honest, the KMP and network flow algorithms that I have been struggling with for years were made clear to me in this course, and I can even write derivations and proofs for both of them two years later. +This is the highest rated algorithms course on [Coursera](https://www.coursera.org), and Robert Sedgewick has the magic to make even the most complex algorithms incredibly easy to understand. To be honest, the KMP and network flow algorithms that I have been struggling with for years were made clear to me in this course, and I can even write derivations and proofs for both of them two years later. -Do you feel that you have learned algorithms then forget them quickly? I think the key of letting you fully grasp an algorithm lies in understanding three points: +Do you feel that you forget the algorithms quickly after learning them? I think the key to fully grasping an algorithm lies in understanding the three points as follows: -- Why do you do this? (Correctness derivation, or the essence of the entire algorithm.) -- How to implement it? (It is not enough to learn without practices.) -- Use it to solve practical problems (Know how to apply you have learned is real skill.) +- Why should do this? (Correctness derivation, or the essence of the entire algorithm.) +- How to implement it? (Talk is cheap. Show me the code.) +- How to use it to solve practical problems? (Bridge the gap between theory and real life.) -The composition of this course fits the three points above very well. Watching the course videos and reading the professor's [textbook](https://algs4.cs.princeton.edu/home/) will help you understand the nature of the algorithm and allow you to tell others why the algorithm has to look like this in very vivid and simple terms . +The composition of this course covers the three points above very well. Watching the course videos and reading the professor's [textbook](https://algs4.cs.princeton.edu/home/) will help you understand the essence of the algorithm and allow you to tell others why the algorithm should look like this in very simple and vivid terms. -After understanding algorithms, you can read the professor's [code implementation](https://algs4.cs.princeton.edu/code/) of all the data structures and algorithms taught in the course. -Note that these implementations are not demo, but industrial, efficient implementations. They are high-quality code that have rigorous annotations and variable names, and their modularization is also quite good. I learned a lot from these codes. +After understanding the algorithms, you can read the professor's [code implementation](https://algs4.cs.princeton.edu/code/) of all the data structures and algorithms taught in the course. +Note that these codes are not demos, but production-ready, time-efficient implementations. They have extensive annotations and comments, and the modularization is also quite good. I learned a lot by just reading the codes. -Finally, the most exciting part of the course is the 10 high-quality projects, all with background descriptions of real-world problems, rich test samples, and an automated scoring system (code style is also a part of the scoring). You'll get a taste of algorithms in real life. +Finally, the most exciting part of the course is the 10 high-quality projects, all with real-world backgrounds, rich test cases, and an automated scoring system (code style is also a part of the scoring). You'll get a taste of algorithms in real life. ## Course Resources