




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、精選文檔實驗八、Link States Algorithm的實現(xiàn)序號: 姓名: _ 學(xué)號: _ 成績 指導(dǎo)老師: 劉宇 劉春花 1實驗?zāi)康模和ㄟ^編程模擬實現(xiàn)LSA.2實驗環(huán)境:VS.net軟件開發(fā)平臺,可以使用任何編程語言。3實驗要求(1)求網(wǎng)絡(luò)中任何兩個結(jié)點之間的最短路徑(網(wǎng)絡(luò)中至少有4個節(jié)點)。(2)得到任何一個節(jié)點上的轉(zhuǎn)發(fā)表。實驗內(nèi)容、拓?fù)浣Y(jié)構(gòu)Initialization: 2 N' = u /*u is source node*/3 for all nodes j /* j is dest node*/4 if j adjacent to u 5 then D(j) = c(u
2、,j) 6 else D(j) = 7 8 Loop 9 find i not in N' such that D(i) is a minimum 10 add i to N' 11 update D(j) for all j adjacent to i and not in N' : 12 D(j) = min( D(j), D(i) + c(i,j) ) 13 /* new cost to j is either old cost to j or known 14 shortest path cost to i plus cost from i to j */ 15
3、 until all nodes in N' 程序:#include<stdio.h>#include<stdlib.h>#define INFINITY 10000 /最大距離 #define MAX_NODES 50 /最大節(jié)點數(shù) int distMAX_NODESMAX_NODES; /distij表示從 i 到 j 的距離int pathMAX_NODES;typedef structint vexnum;int vexMAX_NODES;graph;void init_graph(graph *g)int a,x,y=0;g->vexnum =
4、5; for(a =0;a<g->vexnum;a+)g->vexa=a;for(x=0;x<g->vexnum;x+)for(y=0;y<g->vexnum;y+)distxy=INFINITY;dist01 = 7;dist04 = 1;dist10 = 7;dist12 = 1;dist14 = 8;dist21 = 1;dist23 = 2;dist32 = 2;dist34 = 2;dist40 = 1;dist41 = 8;dist43 = 2;void shortest_path(int s, int t,int n) struct st
5、ate int predecessor; /前驅(qū)節(jié)點 int length; /到起始點的距離 int label; stateMAX_NODES; int i,k,min; struct state * p; for(p=&state0; p<&staten; p+) p->predecessor = -1; p->length = INFINITY; p->label = 0; statet.length = 0; statet.label = 1; k = t; /k 是當(dāng)前工作節(jié)點 do for(i=0; i<n; i+) if(distk
6、i!=0 && statei.label=0) if(statek.length+distki<statei.length) statei.length = statek.length+distki; statei.predecessor = k; k=0; min=INFINITY; for(i=0; i<n; i+) if(statei.label=0 && statei.length<min) k=i; min=statei.length; statek.label = 1; while(k!=s); i=0; k=s; do pathi
7、 = k; k = statek.predecessor; printf("<-%d",pathi); i+; while(k>=0); int main()int m;graph g;g.vexnum = 5;init_graph(&g);printf("從A點出發(fā)到其他各點的最短路徑如下所示:n");printf("n注:0->A點;1->B點;2->C點;3->D點;4->E點n");for(m=1;m<g.vexnum;m+)printf("n從編號為0的A點出
8、發(fā),到編號為%d的結(jié)點的最短路徑為:n",m);shortest_path(g.vexm,g.vex0,g.vexnum);return 0; ABECD718122通過鏈路狀態(tài)算法計算A點到其它各點的cost,最終輸出A的路由表。A的轉(zhuǎn)發(fā)表: B C D E 最短路徑(A,E,D,C,B) (A,E,D,C) (A,E,D) (A,E) 成本值 6 5 3 14實驗分析,回答下列問題(1)給出LSA算法的主要思想。答:首先引入一個輔助變量Di,它表示當(dāng)前所找到的從始點到每個終點的最短路徑的長度,它的初態(tài)為若有弧則為弧的權(quán)值,若無則為無窮大,且U為已經(jīng)找到最短路徑的結(jié)點的集合,首先比
9、較不屬于U集合的結(jié)點到始點的成本,將最小的結(jié)點并入U中,然后以該結(jié)點為橋梁找到始點到其余各終點的新的最短路徑,即若始點到該點的成本與該點到終點的和小于始點到終點的成本,則設(shè)該成本為始點到終點的最短路徑,然后再找出各終點到始點的最短路徑集合的最小值的終點并入集合U,再循環(huán)執(zhí)行上述步驟直到所有結(jié)點都并入U為止。(2)通過圖表算出任何兩個節(jié)點之間的最短路徑,并給出每個節(jié)點上的轉(zhuǎn)發(fā)表。A的轉(zhuǎn)發(fā)表: B C D E 最短路徑(A,E,D,C,B) (A,E,D,C) (A,E,D) (A,E) 成本值 6 5 3 1B的轉(zhuǎn)發(fā)表: A C D E 最短路徑 (B,C,D,E,A) (B,C) (B,C,D) (B,C,D,E) 成本值 6 1 3 5C的轉(zhuǎn)發(fā)表: A B D E 最短路徑 (C,D,E,A) (C,B) (
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 稅籌咨詢服務(wù)合同協(xié)議
- 溫江區(qū)勞務(wù)派遣合同協(xié)議
- 混凝土工程勞務(wù)合同協(xié)議
- 籃球合同到期終止協(xié)議
- 空調(diào)工程監(jiān)理合同協(xié)議
- 稻田拋荒治理合同協(xié)議
- 租金合同解除協(xié)議模板
- 混凝土地坪施工合同協(xié)議
- 紫砂壺訂購合同協(xié)議
- 簽合同三方協(xié)議
- 社會科學(xué)處橫向課題合同書
- 常州施工招標(biāo)開標(biāo)清標(biāo)評標(biāo)報告
- 第十五屆運動會場館醫(yī)療保障工作方案
- 生理衛(wèi)生教學(xué)課件青春期男生性教育走向成熟
- 體外診斷試劑標(biāo)準(zhǔn)品、校準(zhǔn)品、質(zhì)控品
- GB/T 3452.4-2020液壓氣動用O形橡膠密封圈第4部分:抗擠壓環(huán)(擋環(huán))
- 王力宏-緣分一道橋-歌詞
- 高校電子課件:現(xiàn)代管理學(xué)基礎(chǔ)(第三版)
- 《藥物學(xué)》課程教學(xué)大綱
- 艾滋病感染孕產(chǎn)婦所生兒童艾滋病早期診斷與抗體檢測流程圖
- 修改版絲竹相和
評論
0/150
提交評論