[理工] 101交大資演的一段程式碼

作者: gash55025502 (白影弓)   2019-12-01 16:54:36
https://i.imgur.com/7XFT3A2.jpg
https://i.imgur.com/ZwHbfvW.jpg
課本上寫這是Prims algorithm的程式碼
自己也有trace了一下
但對最後一段紅筆畫起來的部分有點問題
最後一段有點像是在已選定的Set當中 選連出去的邊中最小的那個
但for loop這樣寫 不是代表他檢查不到第一個點跟最後一個點了嗎?
這樣的話是不是要改成for i=1 to g->n 比較好呢?
感謝~
作者: bochengchen (LFII)   2019-12-01 20:55:00
第一個點是起始點所以不用檢查吧再者當已經選了n-1個點的時候,所有in[i]==true 進去了也不會改變吧!
作者: gash55025502 (白影弓)   2019-12-01 20:58:00
但他的起始點是start 不一定要是1吧?
作者: twiddlebug (Tina)   2019-12-02 11:58:00
想請問while裡面第二個for loop的作用是什麼阿
作者: mistel (Mistel)   2019-12-02 12:52:00
for loop的上面兩行不就先v=1了嗎for loop的功用就是選擇dist最小的臨點給下一回合用的,雖然我不確定dist變數在幹嘛...但v=i這邊就是在做這件事

Links booklink

Contact Us: admin [ a t ] ucptt.com