Current location - Loan Platform Complete Network - Big data management - How to learn data structures for computer science graduate school?
How to learn data structures for computer science graduate school?

Analysis of key points and revision suggestions. The examination objectives of the unified syllabus for data structure are to master the basic concepts, principles and methods of data structure, the logical structure of data, storage structure and the implementation of basic operations; to be able to analyze the algorithms in terms of time complexity and space complexity; to be able to analyze and solve the problems by using the basic principles and methods of data structure, and to have the ability to design programs and implement algorithms by using the languages of C, C++ or JAVA. Ability to use C, C++ or JAVA language to design programs and implement algorithms. Of course, candidates do not need to review C or C++ programming, after all, review time is limited, and data structure requirements focus on the ability to design algorithms, rather than the ability to write code, so as long as you can use a pseudo-code like the form of the ideas expressed clearly on the line, do not have to force to write a program without any grammatical errors.

Linear Tables. Linear tables in this chapter inside the knowledge is not much, but to achieve a deep understanding, be able to apply the relevant knowledge to solve practical problems. Chain table insertion, deletion of nodes on the pointer operation is a common test of multiple-choice questions, such as bidirectional chain table and other relatively complex operations on the chain table can also appear in the comprehensive application of the problem.

Stacks, queues and arrays can be examined in comparison with the chain table is a little more knowledge. The most basic, is the stack and queue FILO and FIFO characteristics. For example, for the characteristics of the stack FILO, into the stack out of the stack sequence of questions often appear in the choice of questions. Secondly, the stack and queue sequential and chained storage structure, a common test point here is the different storage structure of the top of the stack pointer, pointer to the head of the queue and the end of the queue pointer operation, in particular, the circular queue judgment full and judgment empty of the 2 kinds of judgment methods. Again, is a special matrix of compressed storage, the focus of this review can be placed on the two-dimensional matrix and one-dimensional array conversion, the calculation of subscripts, such as a number of rows parallel to the diagonal of non-zero data matrix stored in a one-dimensional array, the corresponding subscripts of each data point calculation. The possible big topic point of this chapter is to utilize the properties of stacks or queues, and use them as basic data structures to support the design of algorithms for solving real-world problems, such as solving recursive problems with stacks, traversal of graphs with queues, and so on.

Trees and binary trees: in this chapter we move from sequential data structures, to hierarchical data structures, to master the various properties of trees, binary trees, trees and binary trees, different storage structures, forests, trees and binary trees, the conversion between trees and binary trees, clued binary trees, binary trees, binary tree applications (binary sorted trees, balanced binary trees and Huffman trees), the focus of the proficiency, is the forest, Tree and binary tree traversal of the first three ways, to be able to carry out the corresponding algorithm design. This part of the data structure exam has always been the focus of the key and difficult, review should pay special attention to. Some common multiple choice questions include: full binary tree, complete binary tree node number calculation, by the tree, binary tree schematic diagram to give the corresponding traversal sequence, based on the binary tree traversal sequence to restore the binary tree, the essence of the clues to the essence of the clues to the calculation of different methods of clues to the binary tree after the number of the remaining null pointer field, the definition of balanced binary trees, properties, the establishment of the four adjustments to the algorithm, and backtracking method of the relevant problems . Common application problems include: binary tree traversal algorithms, traversal of the binary tree on the basis of some statistics and operations (such as the number of nodes statistics, left and right subtree permutation, etc.), to determine whether a binary tree binary sorted tree, the above are required to be able to use recursive and non-recursive algorithms to solve the problem, pay special attention to the non-recursive algorithms, clues to the traversal algorithm of the binary tree after clueing, such as finding the clues to the node after the trail algorithms, algorithms for finding a node's predecessor or successor after cluing, algorithms for giving Huffman encodings, and so on.

Graphs: In this chapter, you need to memorize graphs and the various definitions of graph-based storage. One needs to be proficient in depth traversal and breadth traversal algorithms for graphs, which are the basis of algorithms commonly used in solving application problems using graphs. Mastery of multiple algorithms based on graphs is required to be able to solve problems by executing specific algorithms on a given graph in a hand-computed manner. Common application problems are given directly or after abstraction, will become the following problems: minimum spanning tree solution (PRIM algorithm and KRUSKAL algorithm, both methods of thought are very simple, but be careful not to confuse these two methods), topological sorting problems (here will be used to array implementation of the chain table, you can pay attention to it), the critical path problem (data structure of the greater difficulty, to understand the concepts thoroughly, to be able to make a table to find out the critical path), the shortest path problem (there is an important application of the background, but also the greedy method is one of the few can give the optimal solution of the typical problem).

Finding: this chapter, you need to remember the meaning of keywords, primary keywords, secondary keywords; static search and dynamic search and the meaning and difference between; the concept of average search length ASL and in a variety of algorithms to find the calculation method and results, especially some typical structure of the value of the ASL, the concept of the B-tree and the basic operation of the choice of conflict resolution methods and the description of the conflict process, the concept of the B-tree (with important application background, but also one of the few typical greedy method can give the optimal solution). The concept of B+ tree (new test point), pay special attention to the comparison of the concepts of B-tree and B+ tree, as well as the concepts related to hash tables. To master the sequential table, chained table, binary tree on the find method, pay special attention to the sequential find, binary find conditions (such as chained table with binary find is not appropriate) and algorithmic complexity

Sorting: the latest syllabus will be last year, the scope of the internal sorting extended to the sorting, sorting is both the focus, but also a difficult point. Sorting algorithms are numerous, this year's outline is also added to the external sorting, a total of *** 10 kinds of different algorithms and the corresponding definition of some concepts need to be remembered. Select the common problems include: given a series of requirements to give a particular sorting method to run a round of sorting results, or give the initial series and a round of sorting results require the selection of sorting algorithms, given the time, space complexity requirements and series of features require the selection of appropriate sorting algorithms and so on. If the sorting of this test appears in the comprehensive application questions are often combined with the array to test.