: Network Disk Download
First, the content of the book is a foreign data structure and algorithm analysis of the classic textbook, using the excellent Java programming language as the implementation tool to discuss the data structure (the method of organizing a large number of data) and algorithm analysis (estimation of the algorithm run time). This book combines algorithmic analysis with the development of the most efficient Java programs, in-depth analysis of each algorithm, comprehensive, rigorous, and meticulous elaboration of the method of construction procedures.[1] Second, the book catalogue publisher words preface the 1th Chapter Introduction 11.1 Contents of the book Discussion 11.2 Mathematics Review 21.2.1 index 21.2.2 logarithm 21.2.3 level 21.2. Method of 4 modulo operation 41.2.5 Proof 41.3 recursive discussion 51.4 implementing generic component Pre-java 571.4.1 using an object to represent a wrapper for a generic 81.4.2 base type 91.4.3 using an interface type to represent the compatibility of a generic 91.4.4 array type 101.5 using Java 5 generic features implement generic components 111.5.1 simple generic classes and Interfaces 111.5.2 Auto-boxing/ Unboxing 111.5.3 diamond operator 121.5.4 with restricted wildcard 121.5.5 generic static method 141.5.6 type gauge 141.5.7 type erase 151.5.8 limit for generics 151.6 function Object 16 Summary 18 Exercise 18 Reference 19 2nd Chapter Algorithm analysis 202.1 Mathematical basis 202.2 model 222.3 the problem to be analyzed 222.4 run time calculation 242.4.1 A simple example 242.4.2 general law 242.4.3 maximum subsequence and problem solving 262.4.4 the accuracy of logarithmic 312.4.5 analysis results in run time 33 summary 33 Exercise 34 Reference 37 3rd table, stack and queue 393.1 abstract data Type 393.2 table ADT393.2.1 simple array implementation 403.2.2 simple list 403.3Java collections The table in the API 413.3.1Collection interface 413.3.2Iterator Interface 423.3.3List interface, ArrayList class and LinkedList class 433.3.4 Example: The Remove method uses the LinkedList class 443.3.5 about the implementation of the Listiterator interface 463.4ArrayList class 463.4.1 Basic class 463.4.2 iterators , Java nested classes, and the implementation of the inner class 493.5LinkedList class 523.6 stack ADT583.6.1 stack model 583.6.2 stack implementation 593.6.3 application 593.7 queue ADT653.7.1 queue Model 653.7.2 queue array Implementation 653.7.3 Queue Application 66 Summary 67 Exercise 67 4th Tree 714.1 Preliminary Knowledge 714.1.1 tree's implementation 724.1.2 tree traversal and application 724.2 two fork tree 754.2.1 implementation 764.2.2 Example: expression tree 764.3 find tree adt-- Binary Lookup Tree 784.3.1contains method 794.3.2findMin method and Findmax method 804.3.3insert method 804.3.4remove method 824.3.5 Average case analysis 834.4AVL tree 864.4.1 single rotation 874.4.2 double rotation 894.5 stretch tree 944.5.1 A simple idea (not directly used) 954.5.2 expand 964.6 Re-explore tree traversal 1004.7B Tree 1014.8 in standard library Collections and mappings 1054.8.1 about the set interface 1054.8.2 about the implementation of the map interface 1054.8.3TreeSet class and the TreeMap class 1064.8.4 using instances of multiple Mappings 106 Summary 111 Exercise 111 Reference 115 Chapter 5th Hash 1175.1 general Idea 1175.2 hash function 1175.3 Detach link method 1195.4 hash table without list 1235.4.1 linear detection method 1235.4.2 Square probe method 1245.4.3 Double-hash 1295.5 hash Table 1305.6 Standard library hashes 1325.7 worst case o (1) Access to the hash list ... 1335.7.1 Perfect hash 1335.7.2 cuckoo hash 1355.7.3 jump House hash 1435.8 general hashing 1465.9 Diffuser Column 148 Summary 149 Exercise 150 Reference 153 6th Chapter Priority Queue (heap) 1566.1 model 1566.2 Some simple implementations 1566.3 two fork heap 1576.3.1 structural properties 1576.3.2 sequence Nature 1576.3.3 Basic heap Operations 1586.3.4 other heap operations 1626.4 priority Queue Application 1646.4.1 Select Issue 1646.4 .2 Event Simulation 1656.5d-heap 1666.6 left heap 1676.6.1 left heap nature 1676.6.2 left heap operation 1686.7 Oblique heap 1726.8 Two item queue 1736.8.1 Two item queue structure 1746.8.2 Two item queue operation 1746.8.3 Two item queue implementation 1766.9 Standard library The priority queue 180 Summary 180 Exercise 181 Reference 184 Chapter 7th Sort 1867.1 Preliminary knowledge 1867.2 Insert sort 1867.2.1 algorithm 1867.2.2 insert sort analysis 1877.3 Some simple sort algorithm the Nether 1877.4 Hill sort 1887.5 Heap sort 1917.6 Merge sort 1937.7 Quick sort 1987.7.1 Select Pivot Element 1997 .7.2 Segmentation Strategy 2007.7.3 Decimal Group 2027.7.4 actual Quick Sort Routines 2027.7.5 Quick Sort Analysis 2037.7.6 selection problem linear expectation time algorithm 2067.8 ranking algorithm general Nether 2077.9 selection Problem decision Tree Nether 2097.10 opponent Nether 2107.11 Ordering of linear time: bucket sort and cardinal sort 2127.12 external sort 2167.12.1 Why need some new algorithm 2177.12.2 External Sort model 2177.12.3 simple algorithm 2177.12.4 multi-way merge 2187.12.5 multiphase merge 2197.12.6 Replacement Selection 219 Summary 220 Exercise 221 Reference 225 8th Chapter Non-intersecting set class 2278.1 equivalence relation 2278.2 dynamic equivalence problem 2278.3 basic data structure 2298.4 dexterous algorithm 2318.5 path compression 2338.6 path compression and worst case by rank 2348.6.1 slow-growing function 2358.6.2 analysis using recursive decomposition 2358.6 .3O (M log*n) bounded 2408.6.4O (mα (m,n)) 2408.7 One application 241 Summary 243 Exercise 243 Reference 244 9th Chapter Graph theory algorithm 2469.1 some definitions 2469.2 topological sort 2489.3 Shortest path algorithm 2509.3.1 non-authorized shortest path 2519.3.2Dijkstra algorithm 2549.3.3 graph with negative boundary values 2589.3.4 no loop diagram 2599.3.5 all points to shortest path 2619.3.6 least shorted Example of path 2619.4 network flow problem 2629.5 minimum spanning tree 2679.5.1Prim algorithm 2679.5.2Kruskal algorithm 2699.6 depth First Search application 2709.6.1 undirected graph 2709.6.2 Dual connectivity 2719.6.3 Euler loop 2739.6.4 undirected Figure 275 9.6.5 Find Strong Branch 2769.7np-complete introduction 2779.7.1 difficult with easy 2789.7.2NP class 2789.7.3np-complete Problem 279 Summary 280 Exercise 280 References 284 10th chapter Algorithm design tips 28810.1 greedy algorithm 28810.1.1 A simple scheduling problem 28810.1.2 Huffman coding 29010.1.3 Approximate boxing problem 29310.2 divide and conquer algorithm 29810.2.1 split algorithm run time 29810.2.2 recent point problem 30010.2.3 select question 3 0210.2.4 theoretical improvement of some arithmetic problems 30410.3 dynamic programming 30710.3.1 a table instead of a recursive 30710.3.2 matrix multiplication order arrangement 30910.3.3 optimal binary search tree 31110.3.4 all point pair Shortest path 31210.4 randomization algorithm 31410.4.1 random Number generator 31510.4.2 Jump table 31910.4.3 primality test 32010.5 backtracking algorithm 32210.5.1 toll road reconstruction problem 32310.5.2 Game 326 Summary 331 Exercise 331 Reference 336 11th Chapter Amortization also analyses 34011.1 an unrelated intellectual problem 34011.2 two items queue 34011.3 oblique heap 34411.4 Fibonacci heap 34511.4.1 resection left typeNodes in the heap 34611.4.22 Queues of Lazy merges 34711.4.3 Fibonacci heap Operation 34911.4.4 Proof of time bounds 35011.5 stretching Tree 351 Summary 354 Exercise 354 Reference 355 12th Chapter Advanced data structure and its implementation 35612.1 top down stretch tree 35612.2 red black tree 36212.2.1 Bottom-up insert 36212.2.2 top down red black tree 36312.2.3 top down delete 36712.3treap tree 36812.4 suffix array with suffix tree 37012.4.1 suffix Array 37112.4.2 suffix tree 37312.4.3 linear time suffix array and suffix tree construction 37512.5k-d tree 38512.6 paired heap 387 summary 392 Exercise 393 REF 396 index 399
: Network Disk Download
Data structure and algorithm analysis Java language Description (original book 3rd edition) pdf