试题详情
- 简答题简述Kruskal算法的作用和具体步骤。
-
K.ruskal算法用于最小生成树问题求解。对于有n个顶点的图G=(V,E),Kruskal算法根据图G中所有n个顶点生成一个包括n棵只有根结点的树Ti(i=0,1,…,n-1)的森林F,并按照以下规则森林F中的树合并,形成最小生成树:
A.从边集合E中选取未被访问过且具有最小权的边,置该边状态为已访问。判断该边的两个顶点是否属于不同的树,若属于不同的树则使用该边将两棵树合并为一棵;若属于同一棵树则不做任何处理。
B.重复上一步骤直至森林F中只剩下一棵树,该树即是图G的最小生成树。若最后森林F中剩下不止一棵树,则说明图G是非连通图或非强连通图,在这种情况下不存在最小生成树。 关注下方微信公众号,在线模考后查看
热门试题
- 已知如图所示的一个网,按照Kruskal
- 对一个循环单链表中,表尾结点的指针域与表
- 已知一个无向图的邻接表如图所示,要求:
- 从逻辑上可以把数据结构分为()两大类。
- ()是数据的最小单位,()是讨论数据结构
- 在对n个元素进行冒泡排序的过程中,至少需
- 设计算法判定一棵二叉树是否为二叉排序树。
- 线索二叉树中的每个结点通常包含有5个数据
- 一个算法的时间复杂性是()的函数。
- 在一个长度为n的顺序存储线性表中,向第i
- 简述图的结构特性。
- 序列12,10,13,11,16,14,
- 把数据存储到计算机中,并具体体现数据元素
- 设栈S和队列Q的初始状态为空,元素a.b
- 循环队列的引入是为了克服()。
- 用某种排序方法对线性表(25,84,21
- 二叉树的叶结点个数比度为2的结点的个数(
- 对于长度为n的线性表,若采用分块查找(假
- 在对n个元素进行快速排序的过程中,若每次
- 算法设计:判断带头结点的双循环链表是否对