1 What are data structures and algorithms? 1.1 Data structures
- An arrangement of data on memory or on disk, which is the organization of data. The basic data structures include arrays, lists, stacks, queues, trees, hash tables, graphs, heaps, and so on.
1.2 Algorithm
- is the way or process of processing the data in the structure, in a broad sense, is the method of solving the problem.
2 relationship of data structure and algorithm
- Data structure is for the algorithm service, many algorithms are dependent on the specific data structure, but not all the algorithm, of course, the algorithm can not be related to the data structure.
3 What are the benefits of learning data structures and algorithms?
- The correct choice of data structure and algorithm, can make the program more robust, more efficient operation, therefore, the data structure and algorithm is required for each software developer basic skills, but also the most important basic skills, not one.
4 Overview of Java Data structures and algorithms 4.1 arrays
- Operations of ordered and no arrays, binary lookup, storage objects, large O notation
4.2 Stacks
- Linear table, stack, stack operation, instance of stack, suffix expression (including conversions and calculations)
4.3 queues
- Queue, queue implementation, circular queue, double-ended queue, priority queue
4.4 Linked List
- Linked lists, single-linked lists, double-ended linked lists, linked lists for stacks and queues, ordered linked lists, doubly linked lists
4.5 Recursive algorithm
- Recursion, factorial, divide-and-conquer algorithm, Fibonacci sequence, Hanoi, knapsack problem, merge sort
4.6 Sorting algorithm
- Bubbling, selection, insertion, hill, quick Sort, cardinality, object sorting
4.7 Two fork Tree
- The concept and properties of binary tree, the realization of binary tree, Huffman coding, Huffman tree, Huffman algorithm, using Huffman algorithm to achieve compression and decompression function
4.8 Red and black trees
- The concept and characteristics of red and black trees, the rules and amendments of red and black trees, the rotation of red and black trees, the realization of red and black trees
4.9 2-3-4 Tree
- The concept and rules of 2-3-4 tree, the realization of 2-3-4 tree, the relationship between 2-3-4 tree and red-black tree and the rules of transformation
4.10 B-Tree (balance tree)
- Concept and characteristics of B-tree, height of B-tree, realization of B-tree, deformation of B-tree
4.11 Stacks
- The concept and characteristics of heaps, the implementation of heaps, the sequencing of heaps
4.12 Hash Table
- The concept and advantages and disadvantages of hash table, the construction of hash function, conflict resolution (open address method and chain address method), hash string
4.13 Figure
- Graph concepts and basic terms, depth and breadth search, minimum spanning tree, topological topology of the graph, connected to the graph, Warshall algorithm, minimum spanning tree with weighted graph, premium Manaus algorithm, shortest path problem, Dijkstra algorithm, Freud algorithm
Overview of data structures and algorithms