第一阶段——熟悉数据结构Java代码
深入研究数据结构与算法的系统知识
在以Java为基础的数据结构的学习中,我们选取了Robert Lafore的《Date Structure & Algorithms》为参考资料。
排序
- 简单排序:实现三种简单但是速度较慢的排序
- 冒泡排序
- 选择排序
- 插入排序
- 高级排序:研究几种高级的排序方法
- 希尔排序
- 快速排序
栈和队列:栈和队列是抽象数据类型的数据结构,是许多算法的基础
- 栈:栈只允许访问最后插入的数据项,大部分微处理器运用基于栈的体系结构
- 栈的实现
- 单词逆序
- 队列:队列和栈不一样,是先来先服务的数据结构
- 队列的实现
- 优先级队列:用数组实验优先级队列,并且数组中的数据项有序。
链表:链表的插入、查找和删除
- 链表
- 栈实现的链表
- 队列实现的链表
- 双端链表
- 双向链表
二叉树:最简单最通用的树——不平衡的二叉树
- 树的实现
堆:一种特殊的树,优先队列的一种有效实现手段
- 基于树的堆
- 堆排序
哈希函数
- 线性探测
- 二次探测