狄克斯特拉算法的作用(目的):
1.假如你要從學?;丶?,那么狄克斯特拉算法可以幫你找出從起點到終點耗時最短路徑。
2.假如你要在咸魚上買東西,那么狄克斯特拉算法可以讓你花最少的錢買到性價比最高的東西。
狄克斯特拉算法的步驟:
1.找出“權重最低的”節(jié)點,即可在最短時間內到達的節(jié)點
2.更新該節(jié)點的鄰居的開銷,其含義將稍后介紹。
3.重復這個過程,直到對圖中的每個節(jié)點都這樣做了。
4.計算最終路徑

實現思路(這里我用 利用算法實現最短路程導航來舉例):
第一步:獲取到前往節(jié)點的耗時,找出最便宜的節(jié)點,如:前往A節(jié)點耗時6h,前往B節(jié)點耗時2h,現在我們找到了節(jié)點b的權重是最小的(最近的)因為6>2
第二步:計算經節(jié)點b前往其各個鄰居所需的時間。我們發(fā)現從節(jié)點B前往節(jié)點A只需要3h,因為我們找到了比之前(直接前往節(jié)點A)所需的開銷6h更低的開銷3+2=5h 所以我們更新節(jié)點A的開銷,現在節(jié)點A的開銷是5h了
重復第一步:找出可在最短時間內前往的節(jié)點。我們對節(jié)點B執(zhí)行了第二步,除節(jié)點B(耗時2h)外,可在最短時間內前往的節(jié)點是節(jié)點A(耗時5h)
重復第二步:更新節(jié)點A的所有鄰居的開銷 發(fā)現從A到終點耗時1h ,而從B到終點耗時5h
你發(fā)現前往終點的時間為6h?。◤钠瘘c到B耗時2h,再到A耗時3h) (而如果我們不通過先走節(jié)點b再走節(jié)點a的話 我們路程的消耗將為2h + 5h=7h)也就是需要多花1h

術語介紹:
狄克斯特拉算法用于每條邊都有關聯(lián)數字的圖,這些數字稱為權重。
帶權重的圖稱為加權重圖,不帶權重的圖稱為非加權圖
這期教學先到這里 下一期我會用物品的交換來舉例子 再詳細的說一下
感謝大家的閱讀 謝謝大家!