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

看板Grad-ProbAsk作者 (白影弓)時間4年前 (2019/12/01 16:54), 編輯推噓4(404)
留言8則, 4人參與, 4年前最新討論串1/1
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://www.ptt.cc/bbs/Grad-ProbAsk/M.1575190478.A.756.html

12/01 20:55, 4年前 , 1F
第一個點是起始點所以不用檢查吧
12/01 20:55, 1F

12/01 20:58, 4年前 , 2F
再者當已經選了n-1個點的時候,所有in[i]==true 進去
12/01 20:58, 2F

12/01 20:58, 4年前 , 3F
了也不會改變吧!
12/01 20:58, 3F

12/01 20:58, 4年前 , 4F
但他的起始點是start 不一定要是1吧?
12/01 20:58, 4F

12/02 11:58, 4年前 , 5F
想請問while裡面第二個for loop的作用是什麼阿
12/02 11:58, 5F

12/02 12:52, 4年前 , 6F
for loop的上面兩行不就先v=1了嗎
12/02 12:52, 6F

12/02 12:55, 4年前 , 7F
for loop的功用就是選擇dist最小的臨點給下一回合用的,
12/02 12:55, 7F

12/02 12:55, 4年前 , 8F
雖然我不確定dist變數在幹嘛...但v=i這邊就是在做這件事
12/02 12:55, 8F
文章代碼(AID): #1Tut_ETM (Grad-ProbAsk)