
数据结构
ljj20314
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
查找:树表的查找技术
二叉排序树:二叉排序树(也称二叉查找树):或者是一棵空的二叉树,或者是具有下列性质的二叉树:⑴若它的左子树不空,则左子树上所有结点的值均小于根结点的值;⑵若它的右子树不空,则右子树上所有结点的值均大于根结点的值;⑶ 它的左右子树也都是二叉排序树。中序遍历二叉排序树可以得到一个按关键码有序的序列#include <iostream>using namespace std;...原创 2019-12-02 22:12:22 · 305 阅读 · 0 评论 -
查找:线性表的查找技术
查找基本概念:列表:由同一类型的数据元素组成的集合。关键码:数据元素中的某个数据项,可以标识列表中的一个或一组数据元素。键值:关键码的值。主关键码:可以唯一地标识一个记录的关键码。次关键码:不能唯一地标识一个记录的关键码。查找 :在具有相同类型的记录构成的集合中找出满足给定条件的记录。查找的结果 :若在查找集合中找到了与给定值相匹配的记录,则称查找成功;查找成功返回查找到的记录的位置...原创 2019-12-02 21:38:30 · 617 阅读 · 0 评论 -
树和二叉树:哈夫曼树和线索二叉树
最优二叉树:叶子结点的权值:对叶子结点赋予的一个有意义的数值量。二叉树的带权路径长度:设二叉树具有n个带权值的叶子结点,从根结点到各个叶子结点的路径长度与相应叶子结点权值的乘积之和。哈夫曼树:给定一组具有确定权值的叶子结点,带权路径长度最小的二叉树。哈夫曼树的特点:1 权值越大的叶子结点越靠近根结点,而权值越小的叶子结点越远离根结点。2 只有度为0(叶子结点)和度为2(分支结点)的结点...原创 2019-12-01 23:23:18 · 773 阅读 · 0 评论 -
图
图是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为G=(V,G)。其中,G表示一个图,V表示图G中顶点的集合,E是图G中顶点之间边的集合。在图中,顶点个数不能为0,但可以没有边。若顶点Vi和Vj之间的边没有方向,则称这条边为无向边,表示为(Vi,Vj)。如果图中任意两个顶点之间的边都是无向边,则称图为无向图。若从顶点Vi到Vj的边有方向,则称这条边为有向边,表示为<Vi,Vj...原创 2019-11-17 22:03:28 · 212 阅读 · 0 评论 -
图:最短路径和AOV网和AOE网
最短路径在非网图中,最短路径是指两顶点之间经历的边数最少的路径。在网图中,最短路径是两顶点之间经历上权值之和最短的路径。Dijkstra算法:求v到G中其余各顶点之间的最短路径。设置一个集合S存放已经找到最短路径的顶点,S的初始状态只包含源点v,对vi∈V-S,假设从源点v到vi的有向边为最短路径(从v到其余顶点的最短路径的初值)。以后每求得一条最短路径v, …, vk,就将vk加入...原创 2019-11-25 22:34:30 · 1573 阅读 · 0 评论 -
图:最小生成树
生成树的代价:设G=(V,E)是一个无向连通网,生成树上各边的权值之和称为该生成树的代价。最小生成树:在图G所有生成树中,代价最小的生成树称为最小生成树。Prim算法设G=(V, E)是具有n个顶点的连通网,T=(U, TE)是G的最小生成树,T的初始状态为U={u0}(u0∈V),TE={ },重复执行下述操作:在所有u∈U,v∈V-U的边中找一条代价最小的边(u, v)并入集合T...原创 2019-11-24 17:15:43 · 248 阅读 · 0 评论 -
关于二叉树的其他算法以及树二叉树森林的转化
求二叉树结点的数目:void Count(BiNode *root){ if (root) { Count(root->lchild); number+ +; //number为数据成员 Count(root->rchild); } }树中结点的数目等于左子树结点的数目加上右子树结点的数目加1...原创 2019-11-10 11:39:35 · 314 阅读 · 0 评论 -
树和二叉树(顺序和链式)的遍历操作
树:n个结点的有限集合,当n等于0时为空树。任意一棵非空树满足以下条件:⑴ 有且仅有一个特定的称为根的结点;⑵ 当n>1时,除根结点之外的其余结点被分成m(m>0)个互不相交的有限集合T1,T2,… ,Tm,其中每个集合又是一棵树,并称为这个根结点的子树。树的定义采用递归方法。结点的度:结点所拥有子树的个数树的度:树中各结点度的最大值叶子结点:度为0的结点分支节点:度不为零...原创 2019-11-04 19:47:55 · 292 阅读 · 0 评论 -
数据结构:顺序栈和链式栈
栈:限定在表尾进行插入和删除操作的线性表。允许插入和删除的一端成为栈顶,另一端称为栈底。顺序栈:const int MAX_SIZE=100;template class seqStack{public:seqStack ( ) ;~seqStack ( );void Push ( T x );T Pop ( );T GetTop ( );bool ...原创 2019-10-20 15:26:00 · 338 阅读 · 0 评论