→ chengweihsu: v要選其他也可以啊,只是你loop就要from 1 ~ n, 12/26 15:34
→ chengweihsu: 反正就是找當前dist最小的做為下次加入MST的點, 12/26 15:34
→ chengweihsu: 我反而覺得是下面一行要改成dist = distance[v]啦 12/26 15:34
→ pipiLUANAIAI: Distance[i]這個不是loop i 過去找最小的嗎? 為什 12/26 15:48
→ pipiLUANAIAI: 麼要改成distance[v]呢? 12/26 15:48
→ chengweihsu: 我是指v=1下面那行的dist要改,它的初始值不該是MAX 12/26 16:02
→ chengweihsu: INT 12/26 16:02
→ chengweihsu: loop裡面沒問題 12/26 16:03
→ pipiLUANAIAI: 如果他的初始值是MAXINT好像不會影響到找最小distan 12/26 16:47
→ pipiLUANAIAI: ce[i]? 就算沒找到dist這個變數也不會再用到了 想請 12/26 16:47
→ pipiLUANAIAI: 問為什麼應該改成distance[v]呢? 12/26 16:47
→ chengweihsu: 假設此時node 1跟另一個node k都還沒被加入MST,且 12/26 17:42
→ chengweihsu: 滿足distance[1] < distance[k] < MAXINT 12/26 17:42
→ chengweihsu: 所以如果dist一開始設為MAXINT而非distance[v] 12/26 17:42
→ chengweihsu: (或distance[1]),那麼最後v會被更新成k 12/26 17:42
→ chengweihsu: ,但此時應當選node 1 12/26 17:42
→ chengweihsu: 如果他loop硬要從2開始的話 12/26 17:47
→ chengweihsu: 從1就沒差啦,反正就是陣列中找最大最小值的算法 12/26 17:47