数据结构
文章平均质量分 56
镜花水月~
这个作者很懒,什么都没留下…
展开
-
图的定义,图的存储,深度,广度优先遍历,
路径:接续的边构成的顶点序列路径长度:路径上边或弧的数目/权值之和回路(环):第一个顶点和最后一个顶点相同的路径简单路径:除路径起点和终点可以相同外,其余顶点均不相同的路径简单回路(简单环):除路径的起点和终点相同外,其余顶点均不相同的路径连通图:无向图中任意两个顶点,都存在路径强连通图:有向图中任意两个顶点,都存在路径极小连通子图:该子图是G的连通子图,在该子图中删除任意一条边子图不再联通生成树:包含无向图G所有顶点的极小连通子图生成森林:对非连通图,由各个连.原创 2021-12-04 16:15:57 · 221 阅读 · 1 评论 -
哈夫曼树(最优二叉树)
基本概念:路径:从树中一个结点到另一个结点之间的分支构成这两个结点间的路径结点的路径长度:两结点间路径上的分支数。树的路径长度:从树根到每一个结点的路径长度之和。记作:TL权:将树中的结点赋给一个有着某种含义的数值,则这个数值称为该结点的权结点的带权路径长度:从根节点到该结点之间的路径长度与该结点的权的乘积。树的带权路径长度:树中所有叶子结点的带权路径长度之和。哈夫曼树的构造算法:权值越大的叶子离根越近构造森林全是根 选用俩小造新树 删除两小填原创 2021-11-26 19:44:57 · 381 阅读 · 0 评论 -
树和森林,各种树之间的转化
树:树是n个结点的有限集。若n=0,称为空树;若n>0:有且仅有一个特定的称为根的结点。其余结点可分为m(m>=0)个互不相交的有限集森林:是m(m>=0)课互不相交的树的集合树的存储结构:双亲表示法实现 : 定义结构数组 存放树的结点,每个结点含两个域: 数据域:存放结点本身信息 双亲域:指示本结点的双亲结点在数组中的位置...原创 2021-11-20 16:23:28 · 379 阅读 · 0 评论 -
遍历二叉树和线索二叉树
遍历定义:顺着一条搜索路径巡防二叉树中的结点,使得每个结点均被访问一次,而且仅被访问一次 遍历目的:得到树中所有结点的一个线性排序 遍历用途:它是树结构插入,删除,修改,查找和排序运算的前提,是二叉树一切运算的基础和核心 遍历方法:先序遍历二叉树 中序遍历二叉树 后序遍历二叉树 若二叉树为空,则空操作; 否则: 1.访问根节点; 2.先序遍历左子树; 3.先序遍历右子树; 若二叉树为空,则空操作; 否则:原创 2021-11-03 15:18:36 · 148 阅读 · 0 评论 -
二叉树的存储方式
顺序存储法:实现:按满二叉树的结点层次编号,依次存放二叉树中的数据元素。//二叉树顺序存储表示#define MAXSIZE 100Typedef TElemType SqBiTree[MAXSIZE]SqBiTree bt;缺点:存在空间浪费特点:结点间关系蕴含在其存储位置中 适用于存满二叉树和完全二叉树。二叉树的链式存储结构:二叉链表:typedef struct BiNOde{ TElemTyoe data; struct BiNode *原创 2021-11-03 14:41:11 · 501 阅读 · 0 评论 -
中缀表达式转成后缀表达式
// 中缀表达式转后缀表达式// 操作符:+、-、*、/、%// 输入:可以用cin.getline(arr, 250)或者cin.get(ch) && ch != '\n'// 测试数据:输入格式:(注意:不能有中文的操作符)// 2+(3+4)*5// 16+2*30/4// 输出格式:// 2 3 4 + 5 * +// 16 2 30 * 4 / + #include..原创 2021-11-03 10:25:18 · 375 阅读 · 0 评论