Java版数据结构学习大纲
1. 数据结构概述
1.1. 什么是数据结构?
1.2. 数据的存储结构?
例1:顺序存储结构,按顺序存储数据,[a1,a2.......a3.a4]
例2:链式存储结构,存储自身值之外,并且携带下一位数据的地址,[{'a1','a2的地址'},{'a2','a3的地址'}]
1.3. 数据的逻辑结构?
线性结构,树形结构,图形结构。
2. 算法概述
2.1 算法的定义
解决问题的思路
2.2 算法的特性
输入,输出(至少一个),有穷性(有限的执行时间),确定性(种瓜得瓜种豆得豆),可行性
2.3 基本要求
正确性,可读性,健壮性,时间复杂度(占用时间的长短),空间复杂度(使用空间的大小)。
3. 线形结构
3.1 数组(Array)
- 数组的基本使用
- 数组仿写ArrayList
- 查找算法-二分法
- 【笔记及代码位置】
3.2 栈(Stack)
3.3 队列(Queue)
3.4 链表(LinkedList)
4. 树形结构
4.1 树的特征及二叉树(Binary tree)
- 树形结构的概念及二叉树
- 二叉树的遍历
- 二叉树节点的查找
- 【笔记及代码位置】
......