作者gash55025502 (白影弓)
看板Grad-ProbAsk
标题[理工] 101交大资演的一段程式码
时间Sun Dec 1 16:54:36 2019
https://i.imgur.com/7XFT3A2.jpg
https://i.imgur.com/ZwHbfvW.jpg
课本上写这是Prims algorithm的程式码
自己也有trace了一下
但对最後一段红笔画起来的部分有点问题
最後一段有点像是在已选定的Set当中 选连出去的边中最小的那个
但for loop这样写 不是代表他检查不到第一个点跟最後一个点了吗?
这样的话是不是要改成for i=1 to g->n 比较好呢?
感谢~
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.117.248.1 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Grad-ProbAsk/M.1575190478.A.756.html
1F:推 bochengchen: 第一个点是起始点所以不用检查吧 12/01 20:55
2F:→ bochengchen: 再者当已经选了n-1个点的时候,所有in[i]==true 进去 12/01 20:58
3F:→ bochengchen: 了也不会改变吧! 12/01 20:58
4F:→ gash55025502: 但他的起始点是start 不一定要是1吧? 12/01 20:58
5F:推 twiddlebug: 想请问while里面第二个for loop的作用是什麽阿 12/02 11:58
6F:推 mistel: for loop的上面两行不就先v=1了吗 12/02 12:52
7F:推 mistel: for loop的功用就是选择dist最小的临点给下一回合用的, 12/02 12:55
8F:→ mistel: 虽然我不确定dist变数在干嘛...但v=i这边就是在做这件事 12/02 12:55