In the previous section, circular and bidirectional linked lists should be mentioned, but I decided not to mention them. If you compare the method of learning a course to traversingAlgorithmI think the breadth-first algorithm is better than the depth-first algorithm. A brand new course, if you enter the details at the beginning, it is easy to feel frustrated and lose interest. Therefore, if you can have a general picture of this course, understand what the course is about, what the knowledge is involved, and how to use it, then, from simple to deep, step-by-step development should have better results. However, it is a pity that the school always follows the deep Priority Algorithm to clearly introduce the details of the chapter and then enter the next chapter. The result is often that many of the students who are very interested in the first lesson have dismissed the idea of continuing to listen.
Since I am self-taught, I naturally follow the breadth-first algorithm and don't care how every routine is implemented. First, I create concepts and models of various data structures in my mind and write more details.ProgramIt will naturally take into account. By the way, I think the Data Structure course must be written into a large number of programs to truly learn it. It is not very helpful to understand the routines in the book. Based on the logic-first and physical thinking mentioned above, reading a book is a logical layer. You can only clarify the concept and establish a model in your mind, while writing a program is a physical layer, use concepts and models in your mindProgramming LanguageDescription.
Back to the circular linked list and two-way linked list mentioned at the beginning, I think we only need to understand these two concepts. If there is such a need when writing a program, you can think of them and use them, as for implementation details, I believe it is not a problem for a skilled programmer.