最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

【算法分析】迪杰斯特拉

2020-12-15 00:05 作者:米諾加油努力  | 我要投稿

建議電腦端觀看

算法名稱? ?? ? :迪杰斯特拉


算法適用范圍:解決圖論中的單源最短路徑問(wèn)題

????????概述:有無(wú)向圖P,起點(diǎn)A,求其它P中所有點(diǎn)到A點(diǎn)得最短路長(zhǎng)度?


算法局限性? ??:負(fù)邊權(quán)無(wú)法使用?


算法涉及思想:貪心,減治?


算法優(yōu)越性? ? :相對(duì)暴力(深搜)

????????暴力做法:

????????????????對(duì)整個(gè)圖進(jìn)行深搜,得到答案?

????????迪杰斯特拉:

????????????????利用有效信息進(jìn)行貪心,可以減少多余的前置運(yùn)算


算法優(yōu)越解釋

????????對(duì)初始情況,除初始點(diǎn)未知任何最短路徑?

????????????????設(shè)初始點(diǎn)為A

????????????????圖中存在一點(diǎn)B是A的直連點(diǎn)

????????????????命題1

????????????????????????假設(shè)A->B的長(zhǎng)度小于其它A的直連點(diǎn)到A的長(zhǎng)度

????????????????????????則A->B是A到B的最短路?

????????????????證明1

????????????????????????假設(shè)存在一個(gè)鏈A->N1->N2->...->Nn->B?

????????????????????????????????且這個(gè)鏈?zhǔn)茿到B的最短路

????????????????????????則A->B的長(zhǎng)度<A->N1的長(zhǎng)度

????????????????????????即A->B不是A到B的最短路?


????????????????????????證得:命題1的逆否命題為真,故命題1為真?

????????????????由命題1得:在初始情況下,必然能從與A直接相連的若干個(gè)點(diǎn)中找到一個(gè)

? ?????????????????????????????點(diǎn),該點(diǎn)與A的直接距離就是其最短路徑


????????對(duì)后續(xù)情況,已知部分最短路徑?

????????????????設(shè)已經(jīng)求出最短路的點(diǎn)集合為S{A,N1,N2,N3,...,Nn}?

????????????????設(shè)A為初始點(diǎn)

????????????????S外有一點(diǎn)B?

????????????????命題2

????????????????????????假設(shè)L3是A到B的最短路,Nan是路上一點(diǎn),且Nan在S內(nèi)?

????????????????????????假設(shè)L1是A到Nan的最短路

????????????????????????假設(shè)L2是Nan到B的最短路

????????????????????????則L1+L2=L3?

????????????????證明2

????????????????????????假設(shè)L4>L1,L4是A到Nan的另一條路?

????????????????????????假設(shè)L5>L2,L5是Nan到B的另一條路?

????????????????則知:

????????????????????????L1+L2<L4+L5?

????????????????????????L1+L2<L1+L5

????????????????????????L1+L2<L4+L2

????????????????由最短路定義得:

????????????????????????L3=L1+L2?

????????????????命題2得證


????????????????由命題2得:需要解決的問(wèn)題從找最短路變成了找Nan

????????????????核心優(yōu)化(減治):?

????????????????????????如果所有S內(nèi)的點(diǎn)重合在一處,那么就不必找Nan了

????????????????????????????????此時(shí)L1=0,L2即是L3

????????????????????????????????而且A與Nan重合,故L2就是A到B的最短路

????????????????????????????????問(wèn)題甚至轉(zhuǎn)化成了初始情況:

????????????????????????????????????????A與S外的點(diǎn)“直連”(即0+L2)

????????????????????????????????此時(shí)可以用初始情況的結(jié)論來(lái)解決下一個(gè)點(diǎn)?


操作總論

????????初始情況時(shí),找到與A直連的最近的點(diǎn)B

????????即求得B的最短路,并將之放入S中?

????????為了保持所有S中的點(diǎn)與A重合在一處,

????????需要將每次放入S的新點(diǎn)N做以下處理:

????????????????1.設(shè)M與N直連,A到M的已知距離是L

????????????????2.將L更新為min(L,A到N的最短路+M到N的距離)?

????????這樣處理之后,N點(diǎn)與A點(diǎn)可重合

????????????????而A與S外點(diǎn)之間的距離又沒(méi)有被這個(gè)操作影響



實(shí)現(xiàn)就放圖算了


【算法分析】迪杰斯特拉的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
长汀县| 白沙| 安义县| 新和县| 连江县| 高雄市| 临桂县| 隆子县| 兴隆县| 东乌珠穆沁旗| 黄山市| 诸城市| 桃江县| 页游| 仲巴县| 惠东县| 大安市| 革吉县| 石嘴山市| 宜宾市| 蒙城县| 呈贡县| 竹山县| 罗城| 恩平市| 阿鲁科尔沁旗| 新野县| 平湖市| 榆社县| 普兰县| 香格里拉县| 滨州市| 万全县| 嘉鱼县| 彩票| 龙川县| 朝阳市| 顺平县| 青州市| 德昌县| 阿城市|