绪论
重点
- 带权路径长:所有叶子结点权值*根到叶子的路径(边条数)之和
-
一个通讯簿为数据,每一行为一个数据元素,每一行里面的每一项(如:名字,电话号码)为数据项,数据对象:相同性质数据元素的集合,数据元素为数据的基本单位
-
数据结构:相互之间存在一种或多种特定关系的数据元素的集合
-
数据结构:逻辑结构,存储结构,操作
- 数据元素之间的逻辑关系为数据的逻辑结构
- 逻辑结构:
- 任燕版
- 线性结构(只有一个直接前驱和直接后继)
- 非线性结构(可能有多个直接前驱或直接后继,集合,树,图)
- 清华版
- 集合,线性结构,树形结构,网状结构
- 存储结构:逻辑结构的计算机语言实现(清华版:顺序存储结构链式存储结构)
- 顺序存储
- 连接存储
- 索引存储(结点信息存在一个地址连续的空间,建立索引表,由若干索引项(关键字地址)组成,兼动态和静态特性)
- 哈希存储 (使用哈希函数)
- 算法特性:有穷,确定,可行,输入,输出
- 算法设计要求:正确性,可读性,健壮性(鲁棒性),效率和低存储要求
复杂度(时间复杂度和空间复杂度的合称)
- O(f(N)):上限,增长率小于或等于上限
- Ω(f(N)):下限,大于或等于下限
- o(f(N)):上限,但不等于上限
- Θ(f(N)) :等于
线性表
- 顺序表:数组,计算器n存储元素个数,listsize最大存储个数
- 非循环单链表:指针指向空时为结束
- 循环单链表:最后一个元素的指针指向头,指针指向head时为结束
- 循环双链表:前驱和后继指针
队列
串
- 0或多个字符组成的有限序列
- 空串:长度为0
- 空白串:仅由一个或多个空格组成的串
多维数组
- 非线性结构
树
- 分支节点:度不为0的结点
- 内部结点:除根外的分支节点
- 深度:根为1(维基为0)
- 高:叶子为1(维基为0)
- 层次:根第一层
- 最大层次为树的深度或高度
- 结点度:子树个数
- 树的度:最大度数
- 树的深度:最深结点深度