You can try to write some common data structures in C language: stack, queue, heap, balanced binary tree, B+ tree, dynamic array, hash table, etc. For c++, you can write your own iterator and Basic data structures are wrapped in object-oriented formats.
Since many people will recommend the tome "Introduction to Algorithms", I recommend it here 《数据结构和算法分析 C++描述》. In my opinion, this book is still very suitable for the poster to start learning. Moreover, there are many online resources for the pdf version of this book:D
1. Zhihu does have a relatively reliable learning track/route; 2. For C language, of course I recommend two books: "C Programming Language" and "C Primer Plus", but I don't know much about it. See why it’s best to have it electronically? It’s not too troublesome to go back and read; 3. You can go to OJ to brush up on the questions. OJ generally has question types and difficulty levels; 4. Personally, I think you should learn C language as soon as you are a freshman. It's probably just at the grammatical level. When you later learn the operating system (Unix/Linux) and then go back to understand the C language, you will have a new understanding. Therefore, I suggest you try programming in a *nix environment, which can not only consolidate and strengthen your C language skills, but also learn the data structure in the operating system and the design ideas of the operating system.
The book "STL Source Code Analysis" is the best choice! In addition, there are only the following two options: 1, edited by a Chinese? Impetuous, are there any good books? Less than the most cherished protected animals! 2. Someone from a foreign celebrity? Either the original work is in English and you want to read the Chinese version? You have to see who actually translated it! Otherwise, it will be more unappetizing than the rubbish written by impetuous Chinese people!
You can try to write some common data structures in C language: stack, queue, heap, balanced binary tree, B+ tree, dynamic array, hash table, etc.
For c++, you can write your own iterator and Basic data structures are wrapped in object-oriented formats.
"STL Source Code Analysis" Implement an STL.
Since many people will recommend the tome "Introduction to Algorithms", I recommend it here
《数据结构和算法分析 C++描述》
.In my opinion, this book is still very suitable for the poster to start learning. Moreover, there are many online resources for the pdf version of this book:D
Although the question has been accepted, I still forward an answer on Zhihu, which I feel is more reliable: How to learn data structures?
1. Zhihu does have a relatively reliable learning track/route;
2. For C language, of course I recommend two books: "C Programming Language" and "C Primer Plus", but I don't know much about it. See why it’s best to have it electronically? It’s not too troublesome to go back and read;
3. You can go to OJ to brush up on the questions. OJ generally has question types and difficulty levels;
4. Personally, I think you should learn C language as soon as you are a freshman. It's probably just at the grammatical level. When you later learn the operating system (Unix/Linux) and then go back to understand the C language, you will have a new understanding. Therefore, I suggest you try programming in a *nix environment, which can not only consolidate and strengthen your C language skills, but also learn the data structure in the operating system and the design ideas of the operating system.
The book "STL Source Code Analysis" is the best choice! In addition, there are only the following two options:
1, edited by a Chinese? Impetuous, are there any good books? Less than the most cherished protected animals!
2. Someone from a foreign celebrity? Either the original work is in English and you want to read the Chinese version? You have to see who actually translated it! Otherwise, it will be more unappetizing than the rubbish written by impetuous Chinese people!