Please enable JavaScript.
Coggle requires JavaScript to display documents.
3.数据结构与算法 - Coggle Diagram
3.数据结构与算法
图
图中一个节点的前驱和后继数目是没有限制的
有向图
无向图
完全图
无向完全图
任意两个顶点之间都有线
有向完全图
任意两个顶点之间都有双向连线
度,出度,入度
顶点V的度指关联与该点的边的数目
图的存储结构
邻接矩阵
邻接表
线性结构
受限制的线性表
栈
栈: 先进后出
基本运算
1.初始化栈
2.判栈空
3.入栈
4.出栈
5.读栈顶元素
存储结构
顺序存储
需要预先定义存储空间,若栈满会发生上溢现象
链式存储
链表的头指针,即栈顶指针
典型应用
表达式求值
括号匹配
递归过程转换为非递归过程
队列
先进先出
队列存储
顺序存储
对头指针和队尾指针
顺序队列的空间提前设定
如何区分队列是空是满
1.设置标志位,当对头和队尾都指向该标志位时表示队列满
2.牺牲一个元素空间当队尾指针指向该元素空间时表示队列满
链式存储
线性表
顺序存储
链式存储
只能顺序的访问元素,不能随机存取
双向链表
包含两个指针,当前元素的前驱和后继信息
循环链表
表尾节点的指针指向表中第一个节点,可以从任意节点
遍历整个链表
静态链表
借助元组来描述线性表的链式存储结构
字符串
顺序存储
链式存储
矩阵
特殊矩阵
由于非零元素的分布都有一定的规律所以可以
将其压缩存储在一维数组中,并建立每个非零元素在
矩阵中的位置与其在一维数组之间的对应关系
稀疏矩阵
矩阵中,非零元素的个数远远少于零元素的个数
且非零元素分布没有规律,称之为稀疏矩阵
树
树是递归的
二叉树
顺序存储结构
对于完全二叉树来说空间不会浪费,
但是对于不完全二叉树来说,可能浪费一半的
空间
链式存储结构
由于二叉树节点中包含有数据元素,左子树根,右子树根
最优二叉树,哈夫曼树
二叉树排序
数组