資源描述:
《單源最短路徑貪心算法報告》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、為了適應(yīng)公司新戰(zhàn)略的發(fā)展,保障停車場安保新項目的正常、順利開展,特制定安保從業(yè)人員的業(yè)務(wù)技能及個人素質(zhì)的培訓(xùn)計劃單源最短路徑貪心算法報告 算法分析與設(shè)計實驗報告 第5次實驗 附錄:完整代碼 #include #include #include #definemaxint1000 intc[200][200]={0}; voidDijkstra(intn,intv,intdist[],intprev[]){bools[maxint]; for(inti=1;i50)c[i][j]=1000;
2、 } } } printf("請輸入源點:"); scanf("%d",&v); intdist[n+1],prev[n+1]; printf("路徑:");目的-通過該培訓(xùn)員工可對保安行業(yè)有初步了解,并感受到安保行業(yè)的發(fā)展的巨大潛力,可提升其的專業(yè)水平,并確保其在這個行業(yè)的安全感。為了適應(yīng)公司新戰(zhàn)略的發(fā)展,保障停車場安保新項目的正常、順利開展,特制定安保從業(yè)人員的業(yè)務(wù)技能及個人素質(zhì)的培訓(xùn)計劃 for(inti=1;i;從Vs出發(fā)到Vj的這條最短路徑所經(jīng)過的所有中間頂點必定在S中。即只有這
3、條最短路徑的最后一條弧才是從S內(nèi)某個頂點連接到S外的頂點Vj。 若定義一個數(shù)組dist[n],其每個dist[i]分量保存從Vs出發(fā)中間只經(jīng)過集合S中的頂點而到達(dá)Vi的所有路徑中長度最小的路徑長度值,則下一條最短路徑的終點Vj必定是不在S中且值最小的頂點, 即:dist[i]=Min{dist[k]
4、Vk∈V-S} 利用公式就可以依次找出下一條最短路徑?! ≡诔绦蛑衏[][]表示帶權(quán)鄰接矩陣,dist[]表示頂點到源點的最短路徑,p[]記錄頂點到源點最短路徑的前驅(qū)節(jié)點,u源點,函數(shù)Way是遞歸的構(gòu)造出最短
5、路徑的次序。 五、實驗結(jié)果 程序執(zhí)行的結(jié)果: 六、源代碼 #include #include usingnamespacestd; #defineMAX999 voidgetdata(int**c,intn) { inti,j; intbegin,end,w目的-通過該培訓(xùn)員工可對保安行業(yè)有初步了解,并感受到安保行業(yè)的發(fā)展的巨大潛力,可提升其的專業(yè)水平,并確保其在這個行業(yè)的安全感。為了適應(yīng)公司新戰(zhàn)略的發(fā)展,保障停車場安保新項目的正常、順利開展,特制定安保從業(yè)人員的業(yè)務(wù)技能及個人素質(zhì)的培訓(xùn)計
6、劃eight; for(i=1;i>begin; if(begin==-1)break; cin>>end>>weight; c[begin][end]=weight; }while(begin!=-1); } voidDijkstra(intn,intv,int*dist,int*prev,int**c) { bools[MAX]; inti,j; for(i=1;i1;i--) { path[i]=prev[path[i+1]];//構(gòu)造路徑m--; } for(i=m;i";
7、//輸出路徑} cout>n; int*dist=newint[n+1]; int*prev=newint[n+1]; int**c; c=newint*[n+1]; for(i=0;i>begin>>end;目的-通過該培訓(xùn)員工可對保安行業(yè)有初步了解,并感受到安保行業(yè)的發(fā)展的巨大潛力,可提升其的專業(yè)水平,并確保其在這個行業(yè)的安全感。為了適應(yīng)公司新戰(zhàn)略的發(fā)展,保障停車場安保新項目的正常、順利開展,特制定安保從業(yè)人員的業(yè)務(wù)技能及個人素質(zhì)的培訓(xùn)計劃 v=begin; Dijkstra(n,v,dis
8、t,prev,c);//計算路徑 PrintPath(prev,n,begin,end);//輸出路徑system("pause"); } 本科學(xué)生綜合性實驗報告 項目組長楊濱學(xué)號__成員楊濱專業(yè)_軟件工程班級12軟件2班實驗項目名稱求單源最短路徑—Dijkstra算法指導(dǎo)教師及職稱_趙曉平講師___開課學(xué)期13至_14學(xué)年_一_學(xué)期上課時間XX年9月1日 學(xué)生實驗報告三 一、實驗綜述 1、實驗?zāi)康募耙蟆 ×私馇笞顑?yōu)化問題的貪心算法,了解貪心法的基本要素,學(xué)會如何使用貪心策略設(shè)計算法; 了解單
9、源最短路徑問題,掌握Dijkstra算法的思想;編寫程序,利用Dijkstra算法實現(xiàn),求任意兩點間的單源最短路徑?! 嶒烆}: 給出如右有向圖的邊權(quán)圖,求任意兩點間的單源最短路徑。 實驗要求:目的-通過該培訓(xùn)員工可對保安行業(yè)有初步了解,并感受到安保行業(yè)的發(fā)展的巨大潛力,可提升其的專業(yè)水平,并確保其在這個行業(yè)的安全感。為了適應(yīng)公司新戰(zhàn)略的發(fā)展,保障停車場安保新項目的正常、順利開展,