This course will lead us to learn based on the idea of "algorithm + data structure = program" and be guided by problem solving. I hope it can help everyone improve their theory, abstraction, and design abilities. On the basis of solid classical theory, use problem abstraction, data abstraction, and algorithm abstraction to analyze problems, and apply appropriate data structures and algorithms to design and implement corresponding programs. Through course study, your abstract thinking ability and problem-solving ability will be greatly improved, and your programming ability and code quality will make a qualitative leap!
In solving practical problems, we will learn to use data structures to organize data, design efficient algorithms, and complete high-quality programs to meet complex practical application needs by weighing the cost of time, space and other resources.
This course uses the national "Eleventh Five-Year Plan" textbook "Data Structure and Algorithm" edited by Zhang Ming (Higher Education Press). It is suitable for undergraduate students majoring in computer science and related science and engineering. It is recommended to take courses such as Introduction to Computing first, and it is best to have a basic knowledge of object-oriented programming such as C++. For students with a foundation in structured programming in C language, Chapter 0 of this course adds some basic object-oriented content.
The content learned in the course will be used in various subsequent courses in computer science, such as operating systems, software engineering, introduction to databases, compilation technology, computer graphics, human-computer interaction, etc. I hope it can lay a solid foundation for everyone to engage in computer-related learning, research and development work in the future.