Do you really understand data structures and algorithms?

Data structure and algorithm is a discipline that must be closely combined with theory and practice. Some courses or books related to data structure and algorithm are just called "data structure" instead of "data structure and algorithm". Not much difference.

In fact, there is no need and no strict distinction between data structures and algorithms. The two are in the relationship of "I am in you, and you are in me". Alternatively, it is not a bad idea to count data structures as a branch of algorithms. For example, the famous textbook "Introduction to Algorithms" contains a lot of data structures. If the problems involved in this book need to organize data in a more complex way, they are classified as data structures; otherwise, they are classified as algorithms.

At present, programming courses are relatively popular in middle schools, and are compulsory courses for science students in many colleges and universities. It is also very popular to offer programming training courses in the society. Many students who have not studied computer science systematically, if they can master one or two languages ​​after training and learn some front-end and back-end application development skills, even though their theoretical foundation is weak, they can still get a job as a programmer.

However, there is one course that there is no shortcut to becoming a good programmer, and that is "Data Structures and Algorithms". Excellent companies will not rest assured that important tasks are handed over to programmers who do not understand data structures and algorithms, because those programmers have no concept of efficiency, and if they are not careful, they may write programs that squander computing resources recklessly, making the company pay for it. The price of real money. For example, an inefficient backend will cause the company to purchase more servers to provide services, and even cause the system to crash when the traffic is high. If a programmer swears that his work does not require data structures and algorithms, it is probably because his level is not enough to expose him to tasks that require data structures and algorithms.

In short, computer professionals need to master data structures and algorithms well. Needless to say, non-computer professionals, whether they plan to change careers or have already switched to become programmers, should learn this course well. Even if you are not a programmer, if you often need to use programming to solve problems at work, taking this course is of great benefit.

Here, I recommend a book "Data Structure and Algorithm (Python Language Implementation)". The author of the book emphasizes practicality, and at the same time advocates the following ideas: To realize a data structure, it must not only be correct, but also robust and easy to use. This requires that the design of the data structure should have encapsulation and hiding functions, provide convenient and easy-to-use interfaces externally, and hide internal implementation details. Moreover, the interface provided should prevent the data structure from being inadvertently destroyed from the outside. This idea is reflected in some data structures in this book, such as linked lists, binary search trees and other implementation codes.
insert image description here
Friends who are interested in data structures and algorithms (Python language implementation)

You can search for this book in the online store to learn more

Available on all major platforms.

How many books on data structures and algorithms are there on the market

Why choose this book for study?

In summary, it is [professional + reliable]

The author has taught Python programming courses, data structure and algorithms, and data structure and algorithm practice courses at Peking University for many years, and has served as the team coach of the "ACM International Collegiate Programming Contest" at Peking University for 10 years. The courses taught by the author are both for non-computer majors and for computer majors. This book is the induction and integration of the teaching experience of these courses.
In addition, it also has:
1. The knowledge coverage is wider, especially the algorithm part.
2. The content and exercises are clearly graded according to the difficulty, and the important and difficult points are highlighted.
3. Strong practicality. 95% of the data structures and algorithms in this book give complete and runnable codes, a total of 115 copies, and almost all of these codes appear in specific examples.
insert image description here
4. The sample problems and programming exercises in this book can be submitted to the problem-solving program on OpenJudge (hereinafter referred to as OJ), the online program evaluation platform of Peking University. The platform contains more than 20,000 programming questions, and after the program is submitted, it will automatically judge whether it is right or wrong.
insert image description here
insert image description here
5. The supporting electronic materials are complete, including course handouts and more than 120 well-written program source codes with concise and beautiful styles.
6. Exclusive online service exchange circle for readers
insert image description here
Let's start the learning journey!

What you learn is what you earn
Now, like, leave a comment
前两名可免费赠书一本, and randomly select three readers to give it 额外赠送3本书籍to 五本书免费everyone!
For more knowledge points, you can follow the column to learn~
insert image description here

Guess you like

Origin blog.csdn.net/weixin_51390582/article/details/132300520