Data Structure and algorithm analysis-index, data structure and algorithm Index
Author: xiabodan Source: http://blog.csdn.net/xiabodan
ComputingMethods and data structures are the core content of computer science. As a programmer, programming is our practical project. However, writing programs is not enough. It takes a lot of time for a program to cope with large and complex situations. We can easily write a program that finds a word from a file, such as word-by-word scanning, to check whether it is consistent. However, if our files contain dozens of terabytes of data and hundreds of words are to be found in the files, scanning them one by one is almost impossible. We need to optimize the program so that our program can cope with complex problems. Algorithm Research solves the problem, while the data structure is to design a better way to organize and use data. The two are strongly interdependent, so they are often discussed together. (From vamei blog: http://www.cnblogs.com/vamei)
As a study monk who is about to graduate from college, he is not from a class, mainly engaged in image processing and robot vision work. He is a bachelor degree in embedded hardware and software, and thinks that his programming is still decent, I have seen many projects written by Daniel abroad during my postgraduate studies, and I am also using projects of others. I feel that others' professional skills are too strong, as shown in the fact that they can push formulas and write paper, oral presentation is so wonderful that even the algorithm code is well written. It is at least efficient, clean, and stable. I have seen others' Curriculum Vitae (CV ), skills can be used from C/C ++, matlab, python to PHP, SQL, OpenCV, GL, and MP. I think they all benefit from their solid language foundation, of course, data structures and algorithms are also important. If I have read a lot of things, it doesn't mean that the details are too important. When I want to build a project myself, I feel like I have some ideas, but many details are unclear, the last time I went to the interview, I had to write an algorithm program on the site to find out that I understood it and understood it. The foundation was too bad.
This series of articles will be hand-written on the premise of understanding it step by step. The platform uses raspberry 2 B. Note that the running result may be different from VS2012. During this period, some Linux basics such as commands, Makefile writing, and multi-thread programming will be interspersed. Finally, a small data structure project will be completed, the code can be seen in github: https://github.com/xiabodan/DataStructure to maintain continuous updates, Linux users directly download code:
Git clone https://github.com/xiabodan/DataStructure.git
Mathematical knowledge Review
Sorting Algorithm (insert, Hill, select, bubble, merge, fast and heap)
Table (list)
Stack)
Queue)
Tree, binary tree, and Binary Search Tree
Hashing)
Priority queue (heap)
Greedy Algorithms
Refer:
Data Structure and algorithm analysis-C language description [M], Mechanical Industry Press