![管道鋪設(shè)施工的最佳選擇_第1頁](http://file4.renrendoc.com/view/4844cffd361bbe48f6ba45f3cdf12a85/4844cffd361bbe48f6ba45f3cdf12a851.gif)
![管道鋪設(shè)施工的最佳選擇_第2頁](http://file4.renrendoc.com/view/4844cffd361bbe48f6ba45f3cdf12a85/4844cffd361bbe48f6ba45f3cdf12a852.gif)
![管道鋪設(shè)施工的最佳選擇_第3頁](http://file4.renrendoc.com/view/4844cffd361bbe48f6ba45f3cdf12a85/4844cffd361bbe48f6ba45f3cdf12a853.gif)
![管道鋪設(shè)施工的最佳選擇_第4頁](http://file4.renrendoc.com/view/4844cffd361bbe48f6ba45f3cdf12a85/4844cffd361bbe48f6ba45f3cdf12a854.gif)
![管道鋪設(shè)施工的最佳選擇_第5頁](http://file4.renrendoc.com/view/4844cffd361bbe48f6ba45f3cdf12a85/4844cffd361bbe48f6ba45f3cdf12a855.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
管道鋪設(shè)施工的最佳選擇一、問題描述題目內(nèi)容:在意聯(lián)通網(wǎng)表示的村莊之間管道的連接,設(shè)計一個將所有村莊連接起來的管道構(gòu)成的最小生成樹?;疽螅簩崿F(xiàn)村莊之間管道總長最短。測試數(shù)據(jù):村莊村莊距離村莊村莊距離AB32.8DE67.3AC44.6DF98.7AH12.1EF85.6AI18.2EG10.5BC5.9FI79.2CD21.3GH52.5CD41.1HI8.7CG56.4二、需求分析此程序無需輸入數(shù)據(jù),直接從文件序所需要的數(shù)據(jù),以此數(shù)據(jù)構(gòu)建聯(lián)通網(wǎng),并輸出由此聯(lián)通網(wǎng)生成的最小樹,即為管道鋪設(shè)施工的最佳選擇。三、概要設(shè)計抽象數(shù)據(jù)類型:圖的鄰接矩陣存儲表示:constMAX_VERTEX_NUM=30;//最大頂點個數(shù)typedefstructArcCell{ doubleadj;//對無權(quán)圖,用1,0表示相鄰否,對帶權(quán)圖,則為權(quán)值 boolkind; //為1表示可供選擇,否則不行}ArcCell,AdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM];typedefstruct{ charvexs[MAX_VERTEX_NUM];//描述定點的數(shù)組 AdjMatrixarcs; intvexnum,arcnum;//圖的當(dāng)前頂點數(shù)和邊數(shù)}MGraph;主程序模塊:voidmain(){ 定義聯(lián)通網(wǎng); 讀入數(shù)據(jù)初始化聯(lián)通網(wǎng); 處理數(shù)據(jù)并輸出結(jié)果;}四、詳細(xì)設(shè)計1、圖的鄰接矩陣constMAX_VERTEX_NUM=30;//最大頂點個數(shù)typedefstructArcCell{ doubleadj;//對無權(quán)圖,用1,0表示相鄰否,對帶權(quán)圖,則為權(quán)值 boolkind; //為1表示可供選擇,否則不行}ArcCell,AdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM];typedefstruct{ charvexs[MAX_VERTEX_NUM];//描述定點的數(shù)組 AdjMatrixarcs; intvexnum,arcnum;//圖的當(dāng)前頂點數(shù)和邊數(shù)}MGraph;2、構(gòu)建圖的鄰接矩陣doublemax_num=1000;voidCreateMGraph(MGraph&G){ //采用鄰接矩陣存儲表示,構(gòu)造無向圖G ifstreamin1("vex.txt"); //讀取頂點的信息 ifstreamin2("edge.txt"); //讀取邊的信息 intline=0;//用作頂點和邊的數(shù)目的計數(shù)器 strings1,s2; for(inti=1;getline(in1,s1);i++,line++){ istringstreamiss1(s1); iss1>>G.vexs[i]; } G.vexnum=line;line=0; for(i=1;i<=G.vexnum;++i) for(intj=1;j<=G.vexnum;++j){ if(i!=j){ G.arcs[i][j].adj=max_num; G.arcs[i][j].kind=0; } else{ G.arcs[i][j].adj=0; G.arcs[i][j].kind=1; } } charv1,v2; doubleweight; for(intk=1;getline(in2,s2);k++,line++){ istringstreamiss2(s2); iss2>>v1>>v2>>weight; G.arcs[v1-'A'+1][v2-'A'+1].adj=weight; G.arcs[v2-'A'+1][v1-'A'+1].adj=weight; } G.arcnum=line; cout<<"初始化的鄰接矩陣:\n"; for(i=1;i<=G.vexnum;++i){ cout<<setfill(''); cout<<setw(8)<<char(i+'A'-1); } cout<<endl<<endl; for(i=1;i<=G.vexnum;++i){ //輸出鄰接矩陣 cout<<char(i+'A'-1); for(intj=1;j<=G.vexnum;++j){ cout<<setfill(''); cout<<setw(8)<<G.arcs[i][j].adj; } cout<<endl; }}3、生成最小數(shù)并輸出結(jié)果voidprim(MGraphG){ doublemin; intk1,k2,num=1; G.arcs[1][1].adj=1; for(inti=1;i<=G.vexnum;i++) G.arcs[i][1].kind=1; while(num!=G.vexnum){ min=max_num; for(inti=1;i<=G.vexnum;i++)//找出符合條件的權(quán)重最小的邊 for(intj=1;j<=G.vexnum;j++) if(min>G.arcs[i][j].adj&&i!=j&&G.arcs[i][j].kind==1&&(G.arcs[i][i].adj!=1||G.arcs[j][j].adj!=1)){ min=G.arcs[i][j].adj; k1=i;k2=j; } G.arcs[k1][k2].adj=-G.arcs[k1][k2].adj;//將找到的邊的權(quán)重設(shè)為其負(fù)值 G.arcs[k1][k2].kind=G.arcs[k2][k1].kind=0;//將該條邊設(shè)置為不可選 for(intj=1;j<=G.vexnum;j++){ if(j!=k2) G.arcs[j][k1].kind=1;//把矩陣中k1列代表的邊(出該條邊意外)設(shè)為可選 } G.arcs[k1][k1].adj=1;//這一步是為了接下來能夠方便找出符合要求的權(quán)重最小的邊 num++; } cout<<"=========================================================================\n"; cout<<"通過算法處理后的鄰接矩陣:\n"; for(i=1;i<=G.vexnum;++i){ cout<<setfill(''); cout<<setw(8)<<char(i+'A'-1); } cout<<endl<<endl; for(i=1;i<=G.vexnum;++i){ //輸出處理后的鄰接矩陣 cout<<char(i+'A'-1); for(intj=1;j<=G.vexnum;++j){ cout<<setfill(''); cout<<setw(8)<<G.arcs[i][j].adj; } cout<<endl; } cout<<"最小生成樹(普里姆算法):\n"; cout<<"頂點\t"<<"頂點\t"<<"邊的權(quán)重\n"; for(i=1;i<=G.vexnum;++i) for(intj=1;j<=G.vexnum;++j) if(G.arcs[j][i].adj<0) cout<<char(i+'A'-1)<<"\t"<<char(j+'A'-1)<<"\t"<<G.arcs[i][j].adj<<endl;}4、主函數(shù)voidmain(){ MGraphG; CreateMGraph(G); prim(G);}5、圖的相關(guān)數(shù)據(jù)edge.txt:AB32.8AC44.6AH12.1AI12.8BC5.9CD21.3CE41.1CG56.4DE67.3DF98.7EF85.6EG10.5FI79.2GH52.5HI8.7vex.txt:ABCDEFGHI五、調(diào)試分析該程序通過普里姆算法實現(xiàn),主要由兩個部分組成,一個是讀入圖的數(shù)據(jù)構(gòu)建鄰接矩陣,一個是通過鄰接矩陣生成圖的最小樹。在生成最小樹是需要特別注意選取權(quán)重最小的邊,包括正確的選取范圍和對已選的邊予以標(biāo)記。六、用戶手冊按照已有規(guī)則在指定的txt文件輸入相關(guān)的信息即可。為了簡化問題,突出重點,算法沒有設(shè)計對讀入的數(shù)據(jù)判錯的功能。七、測試結(jié)果村莊村莊距離村莊村莊距離AB32.8CE41.1AH12.1EG10.5BC5.9FI79.2CD21.3HI8.7八、附錄源程序文件清單Prim.cppPrim.h一下包含在Prim.h中#include<iostream>#include<fstream>#include<sstream>#include<string>#include<iomanip>usingnamespacestd;
公司印章管理制度一、目的公司印章是公司對內(nèi)對外行使權(quán)力的標(biāo)志,也是公司名稱的法律體現(xiàn),因此,必須對印章進行規(guī)范化、合理化的嚴(yán)格管理,以保證公司各項業(yè)務(wù)的正常運作,由公司指定專人負(fù)責(zé)管理。二、印章的種類公章,是按照政府規(guī)定,由主管部門批準(zhǔn)刻制的代表公司權(quán)力的印章。專用章,為方便工作專門刻制的用于某種特定用途的印章,如:合同專用章、財務(wù)專用章、業(yè)務(wù)專用章、倉庫簽收章等。3、手章(簽名章),是以公司法人代表名字刻制的用于公務(wù)的印章。三、印章的管理規(guī)定印章指定專人負(fù)責(zé)保管和使用,保管印章的地方(桌、柜等)要牢固加鎖,印章使用后要及時收存。財務(wù)專用章由財務(wù)部負(fù)責(zé)保管,向銀行備案的印章,應(yīng)由財務(wù)部會計、總經(jīng)辦分別保管。3、印章要注意保養(yǎng),防止碰撞,還要及時清洗,以保持印跡清晰。4、一般情況下不得將印章攜出公司外使用,如確實因工作所需,則應(yīng)由印章管理員攜帶印章到場蓋章或監(jiān)印。5、印章管理人員離職或調(diào)任時,須履行印章交接手續(xù)。四、公章刻制印章需本公司法人代表批準(zhǔn),并由印章管理專責(zé)人負(fù)責(zé)辦理刻制并啟用并交由專人進行保管。五、印章的使用使用任何的印章,需由相應(yīng)負(fù)責(zé)人審核簽字。為方便工作,總經(jīng)理可授權(quán)印章管理專責(zé)人審核一般性事務(wù)用印。用印前印章管理人員須認(rèn)真審核,明確了解用印的內(nèi)容和目的,確認(rèn)符合用印的手續(xù)后,在用印登記簿上逐項登記,方可蓋章。3、對需要留存的材料,蓋印后應(yīng)留存一份立卷歸檔。4、不得在空白憑證、便箋上蓋章。5、上報有關(guān)部門的文件資料,未經(jīng)部門經(jīng)理、總經(jīng)理審
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 4 冰融化了 說課稿-2023-2024學(xué)年科學(xué)三年級上冊教科版
- 2023-2024學(xué)年人教版高中信息技術(shù)必修二第二章第二節(jié)《 信息系統(tǒng)的開發(fā)過程》說課稿
- 二零二五年度毛竹產(chǎn)業(yè)金融服務(wù)合同
- 2025至2030年多動力噴霧機項目投資價值分析報告
- 2025至2030年中國PP再生粒數(shù)據(jù)監(jiān)測研究報告
- 2025年中國膠玉磁漆市場調(diào)查研究報告
- 2025年金銀絲面料項目可行性研究報告
- 2025年中國貓罐頭市場調(diào)查研究報告
- 2025年洗片夾項目可行性研究報告
- 2025年普通道服項目可行性研究報告
- 《西方思想經(jīng)典》課件
- 中醫(yī)診療設(shè)備種類目錄
- 戰(zhàn)略管理與倫理
- 如何構(gòu)建高效課堂課件
- 徐金桂行政法與行政訴訟法新講義
- 瀝青拌合設(shè)備結(jié)構(gòu)認(rèn)知
- GB/T 13234-2018用能單位節(jié)能量計算方法
- (課件)肝性腦病
- 北師大版五年級上冊數(shù)學(xué)教學(xué)課件第5課時 人民幣兌換
- 工程回訪記錄單
- 高考物理二輪專題課件:“配速法”解決擺線問題
評論
0/150
提交評論