社区
数据结构与算法
帖子详情
求教:如何判断一个有向图是否存在生成树?(高手狂进)
slindley
2003-05-21 05:18:13
求一个算法判断一个有向图是不是存在生成树,强连通的有向图一定是存在生成树的,请问非强连通的有向图该怎么判断是不是存在生成树呢?
请高手解答,另外一个有向网如果存在生成树,如何求它的最小生成树?
...全文
2470
23
打赏
收藏
求教:如何判断一个有向图是否存在生成树?(高手狂进)
求一个算法判断一个有向图是不是存在生成树,强连通的有向图一定是存在生成树的,请问非强连通的有向图该怎么判断是不是存在生成树呢? 请高手解答,另外一个有向网如果存在生成树,如何求它的最小生成树?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
23 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
slindley
2003-05-26
打赏
举报
回复
1
多谢,我先看看书,不懂,再来讨教,多谢诸位帮忙,尤其多谢 ZhangYv(多看问题少回答)Riemann() 两位了。
ZhangYv
2003-05-25
打赏
举报
回复
可以判断任意的图,数据结构任意。对此,楼主可以认真复习一下图的遍历就明白了。
Riemann
2003-05-25
打赏
举报
回复
0-1邻接矩阵
slindley
2003-05-25
打赏
举报
回复
还有Warshall算法是采用什么数据结构来表示图的?
slindley
2003-05-25
打赏
举报
回复
多谢楼上的各位的热心帮助,但是还有问题求教 ZhangYv(多看问题少回答) ,你给出的算法是判断有向网是否连通的吗?还有,它采用什么数据结构来表示有向网呢? 多谢了!
ZhangYv
2003-05-24
打赏
举报
回复
其实原理知道了,程序是很简单的,这是一种解法:
bool IsConnetivity()
{
bool visited[MAXSIZE];
int i;
for (i = 0; i < MAXSIZE; i++)
visited[i] = FLASE;
dfs(1, visited);//从标号为1的节点开始搜索判断是否为连通图
for (i = 0; i < MAXSIZE; i++)
if (!visited[i])
return FLASE;
return TRUE;
}
ZhangYv
2003-05-23
打赏
举报
回复
楼上的意思也就是说只要证明此图是连通图即可...
Riemann
2003-05-23
打赏
举报
回复
Warshall算法是用于求关系的传递闭包的,在左孝凌等所写的《离散数学》中有介绍。
LeeMaRS
2003-05-23
打赏
举报
回复
在吴文虎的那本 图论算法 上面有这个算法的介绍 好像是叫 最小树形图
slindley
2003-05-23
打赏
举报
回复
那位能否详细的给出一份算法呢?拜托了,我还是有点搞不定,多谢ZhangYv()和 Riemann() 两位的热心帮忙,还请再次赐教!
另外,什么是Warshall算法?关于什么的?
eion
2003-05-22
打赏
举报
回复
注意别用kruskal算法,用prim算法
eion
2003-05-22
打赏
举报
回复
肯定不是最优算法,
只要用最小生成树算法去生成,如果有就一定能够生成,没有就生成不了了
注意要挨个点的去搜索(开始结点要挨个点去试)。
ZhangYv
2003-05-22
打赏
举报
回复
prim和kruskal算法都利用了MST(最小生成树)性质,根据MST性质可证明对于连通图算法的正确性。非连通图是没有生成树的。MST是针对所有带权连通图的,你只要能找出图是非连通的,它就没有最小生成树。
slindley
2003-05-22
打赏
举报
回复
回 ZhangYv() 任何图都有生成树,所以任何图都有最小生成树。Prim Or Kruskal
好像并不是你说得那样吧? 非连通图没有生成树吧?生成树是指图中所有的结点均在树中,非连通图最多有生成森林而已。我说的是生成树!!!
请问BlueSky2008() 破圈算法适合于判断有向图是否存在生成树吗?请给予详细解答,谢谢!
另外如何判断有向图是否有生成树呢?再盼高手解答!
Riemann
2003-05-22
打赏
举报
回复
判断是否存在生成树很简单,只需执行Warshall算法(离散中的,求传递闭包)即可,如果得到的矩阵由某行全为1,证明存在生成树,否则,不存在。
至于最小生成树的求法,偶没想到好方法。
ZhangYv
2003-05-22
打赏
举报
回复
对图G的的某个节点K开始深度优先搜索,寻找和K连通的子图GA,如果GA == G则图G存在最小生成树,否则就不存在。
ZhangYv
2003-05-22
打赏
举报
回复
深度优先搜索,只要找出有部分图是非连通的,它就没有最小生成树,否则就存在.最小生成树
slindley
2003-05-22
打赏
举报
回复
上面的各位能不能详细的说一下,最好能给出一份算法,多谢了!
BlueSky2008
2003-05-21
打赏
举报
回复
破圈算法是1975年由我国数学家管梅谷教授提出来的。
基本思想:在给定的图中任意找出一个回路,删去该回路中权最大的边。然后在余下的图中再任意找出一个回路,再删去这个新找出的回路中权最大的边,……一直重复上述过程,直到剩余的图中没有回路。这个没有回路的剩余图便是最小生成树。
破圈法的前提是输入的图必须是一个连通图。
ZhangYv
2003-05-21
打赏
举报
回复
忘了,上面第一个生成树指的是最大点生成有向树...
加载更多回复(3)
2021 Java面试真题集锦
107 9、KAFKA
判断
一个
节点是否还活着有那两个条件? 108 10、PRODUCER 是否直接将数据发送到BROKER 的LEADER(主节点)? 108 11、KAFA CONSUMER 是否可以消费指定分区消息吗? 108 12、KAFKA 高效文件存储设计特点...
ML——决策树
Table of Contents 1 简介 2 决策树模型 决策树学习 3 特征选择 ...本博客只用于自身学习,如有错误,虚心
求教
!!! 1 简介 决策树模型呈树形结构,在分类问题中,表示基于特征对实例进行...
精进:如何成为
一个
很厉害的人--作者:采铜
精进:如何成为
一个
很厉害的人 作者:采铜 文章目录精进:如何成为
一个
很厉害的人序 用更勇敢的方式去生活01 时间之尺 我们应该怎样对待时间活在“全部的现在” 从当下出发,联结过去与未来那么,
一个
人应该怎样对待...
我在CSDN参与的3000个帖子
2:100分急求,随机输出十个小写字母,但是,要求这十个字母不相同 3:求Sn=a+aa+aaa+…+aaa…a(n个a)之值 4:数组题 望
高手
帮忙! 5:呵呵,来推荐一下我的网站,本站提供大量当今流行的免费的音乐和免费电影,...
无根的根:无名师的 Unix 心传
《Rootless Root:The Unix Koans of Master Foo》, 《Unix编程艺术》一书的附录D,原作者不详 导言 《无根的根》这部心传的收录集在西山纯净的空气中得以保存数十年,它的发现在学术圈中掀起...
数据结构与算法
33,028
社区成员
35,336
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章