此项目为个人在数据结构与算法(java版)学习过程中的学习代码,附有自己实现的一些数据结构与算法应用,以及对应的测试代码
主要代码都在src.java.com.huang.example
路径下,测试代码都在test.java.com.huang.example
路径下(部分算法问题可能没有测试用例,需要直接在类中运行)。
代码和测试代码按数据结构和算法类型进行了分包:
-
queue:
- Queue:队列
- CricleQueue:环形队列
-
linklist:
- SingleLinkList:单链表
- DoubleLinkList:双层链表
- Node:节点类
- CircleLinkList:环形链表(未完成)
-
stack:
- ArrayStack:使用数组实现的栈
- LinkListStack:使用链表实现的栈
- StackCalculator:基于栈和递归实现的加减乘除计算器
-
recursion:
- Factorial:阶乘问题
- Mazu:迷宫回溯问题
- EightQueens:八皇后问题
-
search:
- BinarySearch:二分查找
- FibonacciSearch:斐波那契查找
- InsertSearch:插值查找
- LinearSearch:线性查找
-
hashtable:
- HashTable:哈希表
- Node:链表节点类
- SingleLinkList:单链表
-
tree:
- BinaryTree:二叉树
- BinaryTreeNode:二叉树节点
- ArrBinaryTree:顺序二叉树
- HeapSort:堆排序
- BinarySortTree:二叉排序树
- AVLTree:平衡二叉树
-
huffman:
- HuffmanTree:赫夫曼树
- Node:赫夫曼树节点类
- HuffmanCode:赫夫曼编码
- HuffmanCodeNode:赫夫曼编码节点类
-
graph:
- Graph:图
-
sort:
- BubbleSort:冒泡排序
- InsertSort:插入排序
- SelectSort:选择排序
- ShellSort:希尔排序
- QuickSort:快速排序
- MergeSort:归并排序
- RadixSort:基数排序