社区
数据结构与算法
帖子详情
求教:如何判断一个有向图是否存在生成树?(高手狂进)
slindley
2003-05-21 05:18:13
求一个算法判断一个有向图是不是存在生成树,强连通的有向图一定是存在生成树的,请问非强连通的有向图该怎么判断是不是存在生成树呢?
请高手解答,另外一个有向网如果存在生成树,如何求它的最小生成树?
...全文
2204
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面试真题集锦
目录 … 1 大厂面试的基本流程 17 字节跳动 17 阿里 17 腾讯 18 网易游戏 18 面试前需要准备: 18 面试中可以借鉴的套路 19 用简历争取到更多的面试机会 19 自我介绍时,立即全面抛出技术栈和亮点 20 先介绍项目背景,打消面试官疑问 21 通过说项目管理工具,说明你不仅会写代码 22 用 SPRING BOOT 项目举例,说明你的技术基本面 23 用实例说明你在内存调优方面的经验 24 展示你在数据库调优方面的经验 25 总结前文说辞 26 准备项目说辞时,更可以准备后继面试官的问
精进:如何成为
一个
很厉害的人--作者:采铜
精进:如何成为
一个
很厉害的人 作者:采铜 文章目录精进:如何成为
一个
很厉害的人序 用更勇敢的方式去生活01 时间之尺 我们应该怎样对待时间活在“全部的现在” 从当下出发,联结过去与未来那么,
一个
人应该怎样对待时间呢?不同场合,不同的时间视角由当下向过去与未来延伸对五年后的自己提问 如何解决远期未来与近期未来的冲突?两种未来视角下的思维差异如何解决生活里两种未来的冲突?我们总是在重复地抓起沙子 把时...
ML——决策树
Table of Contents 1 简介 2 决策树模型 决策树学习 3 特征选择 4 决策树的生成 4.1 ID3算法 4.2 C4.5算法 5 决策树的剪枝 6 CART算法 6.1 CART生成 6.2 CART剪枝 7 代码实现 本博客只用于自身学习,如有错误,虚心
求教
!!! 1 简介 决策树模型呈树形结构,在分类问题中,表示基于特征对实例进行...
我在CSDN参与的3000个帖子
今日偶然翻到,感慨万千 1:申述:版主,是否扣了我的专家分? 2:100分急求,随机输出十个小写字母,但是,要求这十个字母不相同 3:求Sn=a+aa+aaa+…+aaa…a(n个a)之值 4:数组题 望
高手
帮忙! 5:呵呵,来推荐一下我的网站,本站提供大量当今流行的免费的音乐和免费电影,常用软件、游戏、精美图库下载,希望对网友有帮助!顺便散分! 6:VBA请教怎
无根的根:无名师的 Unix 心传
《Rootless Root:The Unix Koans of Master Foo》, 《Unix编程艺术》一书的附录D,原作者不详 导言 《无根的根》这部心传的收录集在西山纯净的空气中得以保存数十年,它的发现在学术圈中掀起轩然大波。这些出土文稿是否为早期 Unix 教义的新发现?抑或仅是后世高明的赝品?那些半神秘的人物,像尊者 Thompson、Ritchie
数据结构与算法
33,010
社区成员
35,327
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章