赞
踩
数据
数据元素
数据项
数据对象
具有相同性质的数据元素的集合,是数据的子集
数据类型
数据类型是一个值的集合和定义在集合上的一组操作的总称。
原子类型
结构类型
抽象结构类型
算法的设计取决于所选的逻辑结构,而算法的实现依赖于所选的存储结构
逻辑结构
数据元素之间的关系,分为线性结构和非线性结构
线性结构
非线性结构
集合(无关系)、线性结构(一对一)、树形结构(一对多)、图状结构或网状结构(多对多)
存储结构
顺序存储
链式存储、
索引存储
散列存储
数据的运算
运算的定义针对逻辑结构,运算的实现针对逻辑结构
栈
基本概念
栈的数学性质
基本操作
顺序栈
操作
S.top。S.top=-1
进栈
出栈
判空
栈满
栈长
S.top=0时,即top指向栈顶元素的下一位置。则入栈操作变成S.data[S.top++]=x,出栈为x=S.data[–S.top]
区分top指向的是当前栈顶元素还是下一元素
链栈
共享栈
初始指针
栈满
进栈操作
出栈
特点
队列
基本概念
队首出(删除),队尾入队(增加)
判空
判满
循环队列
三种区分队空与队满方法
牺牲一个元素
队满
队空
元素个数
增设表示元素个数
增设tag数据成员
P79页循环队列出入队示意图
链式队列
双端队列
数组
一维数组
多维数组
压缩矩阵
对称矩阵
上下三角矩阵
三对角矩阵
特点
按行优先和按列优先
稀疏矩阵
栈
栈的括号匹配
前中后缀表达式
栈的递归
在于能发将原始问题转换为属性相同但规模交较小的问题。
递归调用过程:
队列
队列的层次遍历
队列在计算机系统中的应用
递归的数据结构,也是一种逻辑结构
定义
术语
祖先,双亲,子孙,孩子,兄弟结点
结点的度,树的度
分支结点,叶子结点
结点的层次,结点的深度,结点的高度,树的高度。
有序树,无序树
路径,路径长度
树的性质
概念
二叉树是有序树
二叉树和度为2度有序树区别
度为2度有序树,结点至少三个,而二叉树可以为空
二叉树的次序是绝对的,不能颠倒
特殊二叉树
满二叉树
完全二叉树
二叉排序树
平衡二叉树
二叉树的性质
二叉树的存储
总结:
操作
三种遍历
先序遍历
后序遍历
中序遍历
时间复杂度,空间复杂度都为O(n)
线索二叉树
二叉树的计算题
空指针的个数
中序+后序推导
中序+前序推导
层序+中序推导
应用
排序二叉树
哈夫曼树
树的存储结构
双亲表示法
利用结点唯一双亲的性质
可以很快得到每个结点的双亲,但是求孩子结点,需要遍历整个结构
区别二叉树的顺序存储和树的顺序存储
孩子表示法
孩子兄弟表示法
二叉链表表示:每个结点分为三部分,结点值,指向结点第一个孩子结点的指针,指向结点下一个兄弟结点的指针。
通过第二个指针可以方便找到结点的所有兄弟结点。
最大优点,方便实现树转换为二叉树的操作,易于查找孩子结点。
缺点是从当前结点查找父结点比较麻烦
树,森林与二叉树的转换
给定一颗树找到可以唯一的一颗二叉树与之对应,物理结构上看,他们的二叉链表上一样的,只是解释不同
- 二叉树转换为树或者森林也是唯一的
树转二叉树的规则
树转二叉树的画法
森林转化为二叉树
森林转为二叉树的画法
二叉树转换为森林的规则
树和森林的遍历
树的两种方式
补充:无法使用中根遍历,因为可能会有多个孩子。也可使用层次遍历
先根遍历
后根遍历
森林的两种遍历方式
先序遍历森林
中序遍历森林
补充总结:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。