最近抽时间把数据结构和算法复习了一下,学习了《Java数据结构和算法(第二版)》[著] Robert Lafore一书。
代码及练习题都算是完成了一遍,有需要的可以看:
https://github.com/eussi/data-strucutres-algorithms/tree/master/java-algorithms
每章节目录下包含两个类,非Exercise类名的类为书中样例代码主类,Exercise类为每章练习题主类,运行即可。
“README.md”内容如下
java-algorithms
内容及代码来自
《Java数据结构和算法(第二版)》[著] Robert Lafore
前言
com/eussi/ch00_preface/Preface.java
综述
com/eussi/ch01_introduction/Introduction.java
数组
com/eussi/ch02_arrays/Arrays.java
com/eussi/ch02_arrays/Exercise.java
com/eussi/ch02_arrays/util/HighArray.java
com/eussi/ch02_arrays/util/OrdArray.java
简单排序
com/eussi/ch03_simple_sort/Exercise.java
com/eussi/ch03_simple_sort/Sort.java
com/eussi/ch03_simple_sort/util/ArrayBub.java
com/eussi/ch03_simple_sort/util/ArrayIns.java
com/eussi/ch03_simple_sort/util/ArrayOddEven.java
com/eussi/ch03_simple_sort/util/ArraySel.java
栈和队列
com/eussi/ch04_stack_queue/Exercise.java
com/eussi/ch04_stack_queue/Stack$Queue.java
com/eussi/ch04_stack_queue/util/BracketChecker.java
com/eussi/ch04_stack_queue/util/Deque.java
com/eussi/ch04_stack_queue/util/InToPost.java
com/eussi/ch04_stack_queue/util/Postfix.java
com/eussi/ch04_stack_queue/util/PriorityQ.java
com/eussi/ch04_stack_queue/util/PriorityQ2.java
com/eussi/ch04_stack_queue/util/Queue.java
com/eussi/ch04_stack_queue/util/Queue2.java
com/eussi/ch04_stack_queue/util/StackX.java
com/eussi/ch04_stack_queue/util/StackY.java
com/eussi/ch04_stack_queue/util/SuperMarket.java
链表
com/eussi/ch05_Linklist/Exercise.java
com/eussi/ch05_Linklist/LinklistMain.java
com/eussi/ch05_Linklist/util/CircleList.java
com/eussi/ch05_Linklist/util/DoubleLink.java
com/eussi/ch05_Linklist/util/DoublyLinkedList.java
com/eussi/ch05_Linklist/util/DuQueue.java
com/eussi/ch05_Linklist/util/FirstLastList.java
com/eussi/ch05_Linklist/util/Link.java
com/eussi/ch05_Linklist/util/Link2.java
com/eussi/ch05_Linklist/util/Link3.java
com/eussi/ch05_Linklist/util/Linklist.java
com/eussi/ch05_Linklist/util/Linklist2.java
com/eussi/ch05_Linklist/util/LinkList3.java
com/eussi/ch05_Linklist/util/ListIterator.java
com/eussi/ch05_Linklist/util/PriorityQ.java
com/eussi/ch05_Linklist/util/Queue.java
com/eussi/ch05_Linklist/util/SortedList.java
com/eussi/ch05_Linklist/util/SortedList2.java
com/eussi/ch05_Linklist/util/TwoDimensionLinkList.java
递归
com/eussi/ch06_recursion/Exercise.java
com/eussi/ch06_recursion/Recursion.java
com/eussi/ch06_recursion/util/Anagram.java
com/eussi/ch06_recursion/util/DArray.java
com/eussi/ch06_recursion/util/Group.java
com/eussi/ch06_recursion/util/Knapsack.java
com/eussi/ch06_recursion/util/Merge.java
com/eussi/ch06_recursion/util/OrdArray.java
com/eussi/ch06_recursion/util/Params.java
com/eussi/ch06_recursion/util/PermuteCombine_1.java
com/eussi/ch06_recursion/util/PermuteCombine_2.java
com/eussi/ch06_recursion/util/PermuteCombine_3.java
com/eussi/ch06_recursion/util/StackTriangle.java
com/eussi/ch06_recursion/util/StackTriangle2.java
com/eussi/ch06_recursion/util/StackX.java
高级排序
com/eussi/ch07_advanced_sort/Exercise.java
com/eussi/ch07_advanced_sort/Sort.java
com/eussi/ch07_advanced_sort/util/ArrayIns.java
com/eussi/ch07_advanced_sort/util/ArrayPar.java
com/eussi/ch07_advanced_sort/util/ArraySh.java
com/eussi/ch07_advanced_sort/util/RadixSort.java
二叉树
com/eussi/ch08_binary_tree/BinaryTree.java
com/eussi/ch08_binary_tree/Exercise.java
com/eussi/ch08_binary_tree/util/CharNode.java
com/eussi/ch08_binary_tree/util/CharTree.java
com/eussi/ch08_binary_tree/util/Huffman.java
com/eussi/ch08_binary_tree/util/Node.java
com/eussi/ch08_binary_tree/util/ParsePost.java
com/eussi/ch08_binary_tree/util/StackX.java
com/eussi/ch08_binary_tree/util/Tree.java
红黑树
com/eussi/ch09_rbtree/RBTree.java
2-3-4树和外部存储
com/eussi/ch10_tree234/Exercise.java
com/eussi/ch10_tree234/Tree234App.java
com/eussi/ch10_tree234/util/DataItem.java
com/eussi/ch10_tree234/util/Node.java
com/eussi/ch10_tree234/util/Node1.java
com/eussi/ch10_tree234/util/Tree23.java
com/eussi/ch10_tree234/util/Tree234.java
哈希表
com/eussi/ch11_hash/Exercise.java
com/eussi/ch11_hash/Hash.java
com/eussi/ch11_hash/util/ChainHashTable.java
com/eussi/ch11_hash/util/DataItem.java
com/eussi/ch11_hash/util/DoubleHashTable.java
com/eussi/ch11_hash/util/HashTable.java
com/eussi/ch11_hash/util/Link.java
com/eussi/ch11_hash/util/Node.java
com/eussi/ch11_hash/util/QuadraticHashTable.java
com/eussi/ch11_hash/util/SortedList.java
com/eussi/ch11_hash/util/StringDataItem.java
com/eussi/ch11_hash/util/StringHashTable.java
com/eussi/ch11_hash/util/Tree.java
com/eussi/ch11_hash/util/TreeChainHashTable.java
堆
com/eussi/ch12_heap/Exercise.java
com/eussi/ch12_heap/HeapApp.java
com/eussi/ch12_heap/util/Heap.java
com/eussi/ch12_heap/util/Heap1.java
com/eussi/ch12_heap/util/Node.java
com/eussi/ch12_heap/util/Node1.java
com/eussi/ch12_heap/util/PriorityQ.java
com/eussi/ch12_heap/util/Tree.java
com/eussi/ch12_heap/util/TreeHeap.java
com/eussi/ch12_heap/util/TreePriorityQ.java
图
com/eussi/ch13_graph/Exercise.java
com/eussi/ch13_graph/GraphApp.java
com/eussi/ch13_graph/util/Chess.java
com/eussi/ch13_graph/util/Direction.java
com/eussi/ch13_graph/util/Graph.java
com/eussi/ch13_graph/util/GraphD.java
com/eussi/ch13_graph/util/GraphWithLink.java
com/eussi/ch13_graph/util/Lattice.java
com/eussi/ch13_graph/util/Link.java
com/eussi/ch13_graph/util/LinkList.java
com/eussi/ch13_graph/util/Queue.java
com/eussi/ch13_graph/util/StackX.java
com/eussi/ch13_graph/util/Vertex.java
带权图
com/eussi/ch14_weighted_graph/Exercise.java
com/eussi/ch14_weighted_graph/GraphWApp.java
com/eussi/ch14_weighted_graph/util/DistPar.java
com/eussi/ch14_weighted_graph/util/Edge.java
com/eussi/ch14_weighted_graph/util/Edge2.java
com/eussi/ch14_weighted_graph/util/Graph.java
com/eussi/ch14_weighted_graph/util/GraphD.java
com/eussi/ch14_weighted_graph/util/GraphD2.java
com/eussi/ch14_weighted_graph/util/PriorityQ.java
com/eussi/ch14_weighted_graph/util/Vertex.java
com/eussi/ch14_weighted_graph/util/Vertex2.java
应用场合
com/eussi/ch15_application_scenario/App.java
工具类
com/eussi/util/Util.java