为了账号安全,请及时绑定邮箱和手机立即绑定

最新回答 / 慕斯8023209
视频一开始就提及了关于是否可以纳入已选边集合的条件:判断现有边是否已经形成闭环,如果是则舍弃。

最新回答 / 董瘦瘦
这是克鲁斯卡尔算法的原理啊在邻接矩阵里取出所有边后找出最小边最小边对应的点不在集合中则添加进去一个在的话则把另一个添加到该点集合中两个都在同一个点集合中,只能抛弃这条边,为什么呢?因为会形成回环。例如:有一个点集合为{A,B,C},要找的边为AC,对应两个点都在,再选AC这条边的话A-B,B-C,A-C就形成回环,所以在程序里continue跳过两个点在不同的点集合中,说明这两个点集合代表的边可以通过当前这条边连接起来,对应程序里的处理就是拼接两个vector

最新回答 / Lei_Ch
这样大家没法判断你出的是什么错呀朋友,这句代码本身没有错的。

最新回答 / 我入戲太深
段错误一般都是内存问题导致的。  你要检查下首先是不是内存不足,或者说你程序有没有存在内存泄漏。

最新回答 / 国宝阿宝
想明白了。应该以“这一层”和“下一层”的说法来说好理解一些,毕竟以“上一层”来说,是以正在查找的和preVec里的节点有连接的节点所构成的一层节点为参照点,然而这一层节点是不一定有的。

最新回答 / 夜木凝冰
    按道理讲,创建动态分配的数组时是不可以初始化的,只能在后续将其所有元素逐一设置为零。    所以,在构造函数中创建完矩阵数组后,是需要给数组全部元素赋值为零的。否则就是随机数。    有个便捷函数是:memset(m_pMatrix, 0, m_iCapacity *m_iCapacity * sizeof(int));。教程里面也有的。

最新回答 / 木木暮
你的意思是在for (int i = 0; i < m_iCapacity; i++)前用 m_pNodeArray[temp].m_bIsVisited = true;吗?这样效果是一样的,当把点放进去时就已经用到了,等下加下一个的时候才设置为已访问有点说不过去

最新回答 / 慕斯卡4155732
想通了,递归调用实际上是一个嵌套循环,它需要一层一层的从内将每一个for循环执行完再跳出当前循环,直到跳到第一个for循环,并继续执行下去。这个时候nodeIndex=0,i=2,再在第一行寻找下一个点即D
首页上一页12345下一页尾页
课程须知
本课程是数据结构初级课程 1、熟练掌握C++语言基础语法
老师告诉你能学到什么?
1、图的基本概念 2、图的存储方式 3、图的遍历算法 4、图的最小生成树算法 5、图的实际应用

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消