课程
/后端开发
/C++
/数据结构探险之图篇
在算法第二步的找到最小边连接的点,并找出点所在的点集合,对点做出相应的处理,这样的目的是什么
2020-02-10
源自:数据结构探险之图篇 4-6
正在回答
这是克鲁斯卡尔算法的原理啊
在邻接矩阵里取出所有边后找出最小边
最小边对应的点不在集合中则添加进去
一个在的话则把另一个添加到该点集合中
两个都在同一个点集合中,只能抛弃这条边,为什么呢?因为会形成回环。例如:有一个点集合为{A,B,C},要找的边为AC,对应两个点都在,再选AC这条边的话A-B,B-C,A-C就形成回环,所以在程序里continue跳过
两个点在不同的点集合中,说明这两个点集合代表的边可以通过当前这条边连接起来,对应程序里的处理就是拼接两个vector
举报
图是众多实际问题解决方案之源,从基础概念入手掌握图的处理
1 回答集合的合并问题
5 回答最小边这个函数是不是有点问题?
1 回答最小生成树问题
1 回答最小生成树
1 回答我觉得是不是一个for循环就可以找到最小边了啊?