




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、湖南人文科技學(xué)院計(jì)算機(jī)科學(xué)技術(shù)系 課程設(shè)計(jì)說明書 課程名稱: _數(shù)據(jù)結(jié)構(gòu) _ 課程代碼: _408024 _ 題 目:最小生成樹問題 年級(jí)/專業(yè)/班:08級(jí)計(jì)算機(jī)科學(xué)與技術(shù)一班 學(xué)生姓名:肖禁 吳廣 劉聰 邱建標(biāo) 胡子龍 學(xué) 號(hào):08408110 0840807 08408109 指導(dǎo)教師:袁輝勇 開題時(shí)間:2009 年 12 月 23 日 完成時(shí)間:2010 年 1 月 1 日1 / 20 摘要 . 2 一、弓I 言 3 二、設(shè)計(jì)目的與任務(wù) 3 1、 課程設(shè)計(jì)目的 . 3. 2、 課程設(shè)計(jì)的任務(wù) . 3. 三、設(shè)計(jì)方案 4 1、 需求分析 . 4. 2、 概要設(shè)計(jì) . 4. 3、 詳細(xì)設(shè)計(jì)
2、. 5. 4、 程序活單 . 9. 四、 . 調(diào)試分析與體會(huì) 14 五、 . 運(yùn)行結(jié)果 15 六、 . 結(jié) 論 162 / 20 摘要 最小生成樹是數(shù)據(jù)結(jié)構(gòu)中圖的一種重要應(yīng)用, 在圖中對(duì)于n個(gè)頂點(diǎn)的連通網(wǎng)可以建立 許多不同的生成樹,最小生成樹就是在所有生成樹中總的代價(jià)最小的生成樹。 本課程設(shè)計(jì) 是以鄰接矩陣作為圖的存儲(chǔ)結(jié)構(gòu),分別采用Prim和Kruskal算法求最小生成樹。Kruskal 算法和Prim算法是求最小生成樹的常用算法它們分別適用于稠密圖和稀疏圖。最小生成 樹的應(yīng)用非常的廣,如礦井通風(fēng)設(shè)計(jì)和改造最優(yōu)化方面以及如何搭建最短的網(wǎng)絡(luò)線纜 ,構(gòu) 建造價(jià)最低的通訊網(wǎng)絡(luò)。 關(guān)鍵詞:最小生成樹;
3、Kruskal算法;Prim算法 Abstract The minimum Cost spanning tree data structure is an important application of Chinese, in the picture for n vertex even TongWang can create many different spanning tree, minimum spanning tree is in all spanning tree in the total cost of the minimum spanning tree. This course
4、 is designed as a figure of the adjacency matrix storage structure, we adopt Prim and Kruskal minimum spanning tree algorithm. Kruskal Prim algorithm and minimum spanning tree algorithm is used for the algorithm respectively applicable and sparsely populated. Minimum spanning tree is very wide appli
5、cation in mines, such as the ventilation design and modification and optimization in how to set up the shortest cable network, constructing the lowest cost of communications network Keywords: Minimum Cost Spanning Tree; Kruskal algorithm ; Prim algorithm3 / 20 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì) - 最小生成樹 一、 引言 數(shù)據(jù)結(jié)構(gòu)是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)和
6、信息管理與信息系統(tǒng)專業(yè)的必修課之 一,是一門綜合性的專業(yè)基礎(chǔ)課。本課程較系統(tǒng)地介紹了軟件設(shè)計(jì)中常用的數(shù)據(jù)結(jié)構(gòu) 以及相應(yīng)的實(shí)現(xiàn)算法,如線性表、棧、隊(duì)列、樹和二義樹,圖、檢索和排序等,并對(duì) 性能進(jìn)行分析和比較,內(nèi)容非常豐富。 本課程設(shè)計(jì)我們要解決的問題是圖最小生成樹問題。 要用到圖的先相關(guān)數(shù)據(jù)結(jié)構(gòu) 和求最小生成樹的兩種數(shù)據(jù)結(jié)構(gòu)算法普里姆算法和克魯斯卡爾算法, 以及儲(chǔ)存圖的邊 和點(diǎn)的鄰接矩陣。 本課程設(shè)計(jì)要解決的問題構(gòu)造連通網(wǎng)的最小生成樹 ,我們首先要做的是創(chuàng)建一個(gè) 鄰接矩陣,用以來存儲(chǔ)圖,然后我們要想好怎樣利用普里姆算法和克魯斯卡爾算法來 構(gòu)造最小生成樹。把這兩種算法寫入主函數(shù),調(diào)試好程序。最后寫
7、好報(bào)告。 二、 設(shè)計(jì)目的與任務(wù) 1、 課程設(shè)計(jì)目的 本課程設(shè)計(jì)的目的是了解并掌握數(shù)據(jù)結(jié)構(gòu)與算法的設(shè)計(jì)方法, 具備初步的獨(dú)立分 析和設(shè)計(jì)能力;初步掌握軟件開發(fā)過程的問題分析、系統(tǒng)設(shè)計(jì)、程序編碼、測(cè)試等基 本方法和技能;提高綜合運(yùn)用所學(xué)的理論知識(shí)和方法獨(dú)立分析和解決問題的能力; 訓(xùn) 練用系統(tǒng)的觀點(diǎn)和軟件開發(fā)一般規(guī)范進(jìn)行軟件開發(fā)。 2、 課程設(shè)計(jì)的任務(wù) 問題描述:已知一個(gè)無(wú)向連通網(wǎng)表示n個(gè)城市以及城市間可能設(shè)置的通信線路, 其中網(wǎng)的頂點(diǎn)表示城市,邊表示兩個(gè)城市之間的線路,賦于邊上的權(quán)值表示相應(yīng)的代 價(jià)。對(duì)于n個(gè)點(diǎn)的連通網(wǎng)能建立許多不同的生成樹,每一棵生成樹都可以是一個(gè)通信 網(wǎng)。我們要選擇一棵生成樹,
8、使總的耗費(fèi)最小。 4 / 20 三、設(shè)計(jì)方案 1、需求分析 1) 建立一個(gè)圖,其存儲(chǔ)方式可以采用鄰接矩陣形式,需要定義兩個(gè)數(shù)組,一個(gè)存儲(chǔ) 頂點(diǎn),一個(gè)存儲(chǔ)邊,存儲(chǔ)邊的數(shù)組表明節(jié)點(diǎn)間的連通關(guān)系和邊的權(quán)值; 。 2) 利用普里姆算法和克魯斯卡爾算法求網(wǎng)的最小生成樹 3) 按順序輸出生成樹中各條邊以及它們的權(quán)值。 2、概要設(shè)計(jì) 1)抽象數(shù)據(jù)類型(ADT)如下: ADT Graph (數(shù)據(jù)對(duì)象V: v是具有相同特性的數(shù)據(jù)元素的集合,稱為頂點(diǎn)集。 數(shù)據(jù)關(guān)系R: R=VR VR=|v,w 屆于 v 且 p(v,w),(v,w)表示從 v 到 w 的弧,謂詞 p(v,w) 定義了弧的意義或信息 基本操作: (
9、1) CreatGraph(&GV,VR); 初始條件:V是圖的頂點(diǎn)集,VR是圖中弧的集合。 操作結(jié)果:按V和VR的定義構(gòu)造圖Go (2) LocateVex(G u); 初始條件:圖G存在,u和G中頂點(diǎn)有相同的特征。 操作結(jié)果:若G中存在頂點(diǎn)u,則返回該頂點(diǎn)在圖中的位置;否則返回其他 信息。 (3) DestoryGraph(&u); 初始條件:圖G存在。 操作結(jié)果:銷毀圖Go (4) GetVex(G v); 初始條件:圖G存在,v是圖中某個(gè)頂點(diǎn)。 操作結(jié)果:返回v的值。 (5) NextAdjVex(G, v, w); 初始條件:圖G存在,v是圖中某個(gè)頂點(diǎn),w是v的鄰接頂
10、點(diǎn)。 操作結(jié)果:返回v的(相對(duì)于w的)下一個(gè)鄰接頂點(diǎn)。若w是v的最后一個(gè) 鄰接點(diǎn),貝U返回 空”。 (6) BFSTraverse(G Visit(); 初始條件:圖G存在,Visit是頂點(diǎn)的應(yīng)用函數(shù)。 操作結(jié)果:對(duì)圖進(jìn)行廣度優(yōu)先遍歷。在遍歷過程中對(duì)每個(gè)頂點(diǎn)調(diào)用函數(shù) Visit 一次且僅一次。一旦visit()失敗,則操作失敗。 2) 存儲(chǔ)結(jié)構(gòu) Typedef struct ( int adj; 5 / 20 int weight; AdjMatrixMAXMAX; Typedef struct ( djMatrix arc; int vexnum, arcnum; MGraph; 3) 流程
11、圖 3、詳細(xì)設(shè)計(jì) 在該函數(shù)中主要有五段代碼塊,分別是主函數(shù)代碼塊、鄰接矩陣定義模塊代碼、創(chuàng)建 鏈接矩陣模塊代碼、最小生成樹Prim算法及代價(jià)模塊代碼與最小生成樹 kruskal算法及代 價(jià)模塊代碼,五段代碼塊分別有著不同的作用,共同滿足了課題所需要實(shí)現(xiàn)的功能。 1)主函數(shù)模塊代碼 algraph gra; MGraph_L G; int i,d,g2020; char a=a; d=creatMGraph_L(G); vnode v; coutendl注意:若該圖為非強(qiáng)連通圖(含有多個(gè)連通分量)時(shí)endl 最小生成樹不存在,則顯示為非法值endlendl; 6 / 20 cout . 菜單 .
12、 endlendl; cout0、顯示該圖的鄰接矩陣 . endl; coutv1、最小生成樹 PRIM算法及代價(jià) . endl; int s; char y=y; while(y=y) cout請(qǐng)選擇菜單:s; switch(s)( case 0: cout鄰接矩陣顯示如下:endl; ljjzprint(G); break; case 1: for(i=0;i!=G .vexnum;+i) for(intj=0;j!=G .vexnum;+j) gi+1j+1=G .arcsij.adj; coutprim:endl; prim(g,d); break; coutendly; if(y=n
13、) break; 該主函數(shù)用一個(gè)循環(huán)語(yǔ)句,來執(zhí)行其它的函數(shù)的功能。從鍵盤輸入頂點(diǎn)數(shù)和邊數(shù) 上限,再調(diào)用定義連接矩陣的函數(shù),后輸出創(chuàng)建連接矩陣的信息,再調(diào)用creatMGraph ()函數(shù),接著進(jìn)入菜單,然后再選擇輸入一個(gè)數(shù)確定是要輸出連接矩陣還是最小生 成樹及代價(jià),最后選擇輸入確定字母 y或N確定是否繼續(xù)。 2) 鄰接矩陣定義模塊代碼 typedef struct ArcCell int adj; char *info; ArcCell,AdjMatrix2020; typedef struct char vexs20; AdjMatrix arcs; int vexnum,arcnum; M
14、Graph_L; int localvex(MGraph_L G,char v) ( int i=0; while(G.vexsi!=v) ( +i; return i; 7 / 20 用typedef struct定義連接矩陣,通過二維數(shù)組來存儲(chǔ)連接矩陣,并設(shè)定參數(shù)的最 大值為20。 3) 創(chuàng)建鏈接矩陣模塊代碼 int creatMGraph_L(MGraph_L &G) ( char v1,v2; int i,j,w; cout . 創(chuàng)建無(wú)向圖(城市分布圖) . ”endl;cout ”請(qǐng)輸入 圖G頂點(diǎn)(城市)和弧(邊)的個(gè)數(shù):(4 6)不包括“()” G.vexnumG.arcn
15、um; for(i=0;i!=G.vexnum;+i) ( cout輸入頂點(diǎn)(城市)iG.vexsi; for(i=0;i!=G.vexnum;+i) for(j=0;j!=G.vexnum;+j) ( Garcsij.adj=int_max; G=NULL; for(int k=0;k!=G .arcnum;+k) ( cout輸入一條邊依附的頂點(diǎn)(城市)和權(quán)(距離) :(a b 3)不包括 “()” ”v1v2w; i=localvex(G,v1); j=localvex(G,v2); G.arcsij.adj=w; G.arcsji.adj=w; cout圖 G 鄰
16、接矩陣創(chuàng)建成功! endl; return Gvexnum; 該語(yǔ)句是從鍵盤輸入頂點(diǎn)數(shù)和邊數(shù),輸入頂點(diǎn)和權(quán)值,通過循環(huán)語(yǔ)句的調(diào)用,最 后調(diào)用creatMGraph_L ()創(chuàng)建連接矩陣。 4) 最小生成樹Prim算法及代價(jià)模塊代碼 int prim(int gmax,int n) ( int lowcostmax,prevexmax; int i,j,k,min;int sum=o; for(i=2;i=n;i+) ( lowcosti=g1i; prevexi=1; lowcost1=0; for(i=2;i=n;i+) 形成 n-1 條邊的生成樹 8 / 20 ( min=inf; k=0
17、; for(j=2;j=n;j+) if(lowcostjmin)&(lowcostj!=0)(min=lowcostj; k=j; printf(%d,%d)%dt,prevexk-1,k-1,min); sum+=min; lowcostk=0; for(j=2;j=n;j+) if(gkjlowcostj) ( lowcostj=gkj; prevexj=k; printf(n); cout最少生成樹的代價(jià):; coutsum; return 0; 該語(yǔ)句運(yùn)用一系列的循環(huán)語(yǔ)句來實(shí)現(xiàn)的,利用前面的創(chuàng)建好的鏈接矩陣,通過各 邊權(quán)值的比較,最后調(diào)用prim()函數(shù),實(shí)現(xiàn)最小生成樹的生成
18、,同時(shí)運(yùn)用 sum把最小 生成樹各邊權(quán)值相加得到最小生成樹的代價(jià)。 5) 最小生成樹kruskal算法及代價(jià)模塊代碼 void MiniSpanTree(MGraphA *D)/ 生成最小生成樹 ( int i, j, n, m, SUM=0; int k = 1; int parentM; edge edgesM; for ( i = 1; i vexnum; i+) ( for (j = i + 1; j vexnum; j+)( if (D-arcij.adj = 1) ( edgesk.begin = i; edgesk.end = j; edgesk.weight = D-arcij
19、.weight; k+; sort(edges, D); for (i = 1; i arcnum; i+) ( parenti = 0; printf(最小生成樹為:n”); for (i = 1; i arcnum; i+)/ 核心部分 ( n = Find(parent, edgesi.begin); m = Find(parent, edgesi.end); if (n != m)( parentn = m; 9 / 20 printf( %dn, edgesi.begin, edgesi.end, edgesi.weight); SUM=SUM+edgesi.weight; cout
20、最少生成樹的代價(jià):; coutSUM. 該語(yǔ)句運(yùn)用一系列的循環(huán)語(yǔ)句來實(shí)現(xiàn)的,利用前面的創(chuàng)建好的鏈接矩陣,通過各 邊權(quán)值的比較,最后調(diào)用MiniSpanTree ()函數(shù),實(shí)現(xiàn)最小生成樹的生成,同時(shí)運(yùn)用sum 把最小生成樹各邊權(quán)值相加得到最小生成樹的代價(jià)。 4、程序清單 #include #include using namespace std; #define int_max 10000 #define inf 9999 #define max 20 #define MAX 20 #define M 20 typedef struct ArcCell (int adj;char *info;
21、ArcCell,AdjMatrix2020; typedef struct (char vexs20;AdjMatrix arcs; int vexnum,arcnum; MGraph; int localvex(MGraph G,char v) (int i=0; while(G .vexsi!=v) (+i; return i; void ljjzprint(MGraph G) (int i,j,n=0; printf(建立的鄰接矩陣如下:n); printf(n); printf(n); for(i=0;i!=G.vexnum;i+) (for(j=0;j!=G.vexnum;j+) (
22、if(j=0)printf( ); 10 / 20 printf(%d,G.arcsij.adj);printf( );n+; if(n=G.vexnum)( printf(n);n=0; printf(n); int creatMGraph(MGraph &G) (char v1,v2; int i,j,w; printf(建立鄰接矩陣:n); printf(請(qǐng)輸入圖G頂點(diǎn)(城市)和弧(邊)的個(gè)數(shù):); scanf(%d,&G.vexnum); scanf(%d,&G.arcnum); printf(輸入所有頂點(diǎn):); for(i=0;iG.vexsi; for(i=
23、0;iG .vexnum;i+) for(j=0;jG .vexnum;j+) ( G.arcsij.adj=int_max; G.=NULL; printf(輸入所有邊及依附的頂點(diǎn)(城市)和權(quán)(距離):n); for(int k=0;kv1v2w; i=localvex(G,v1); j=localvex(G,v2); G.arcsij.adj=w; G.arcsji.adj=w; ljjzprint(G); printf(圖G鄰接矩陣創(chuàng)建成功! n); return Gvexnum; int visitedmax; int we; typedef struct arc
24、node int adjvex; struct arcnode *nextarc; char *info; arcnode; typedef struct vnode char data; arcnode *firstarc; vnode,adjlist; typedef struct/) 的定義 adjlist verticesmax; int vexnum, arcnum; int kind; algraph; int prim(int gmax,int n) / 最小生成樹 PRIM 算法 int lowcostmax, prevexmax; int i,j,k,min; int sum
25、=0; for(i=2;i=n;i+) lowcosti=g1i; prevexi=1; lowcost1=0; for(i=2;i=n;i+) min=inf; k=0; for(j=2;j=n;j+) if(lowcostjmin)&(lowcostj!=0) min=lowcostj; k=j; printf(%d,%d)%dt,prevexk-1,k-1,min); sum+=min;lowcostk=0; for(j=2;j=n;j+) if(gkjlowcostj) owcostj=gkj;prevexj=k; printf(n); 11 / 20 cout最少生成樹的代價(jià)
26、:; coutarcnum,&D-vexnum); for (i = 1; i vexnum; i+)/ 初始化圖 for ( j = 1; j vexnum; j+) D-arcij.adj = D-arcji.adj = 0; for ( i = 1; i arcnum; i+)/ 輸入邊和權(quán)值 printf(n 請(qǐng)輸入有邊的 2 個(gè)頂點(diǎn)); scanf(%d %d,&n,&m); while(n D-vexnum | m D-vexnum) printf(-輸入的數(shù)字不符合要求請(qǐng)重新輸入:); scanf(%d%d,&n,&m); D-arcnm.
27、adj = D-arcmn.adj = 1; getchar(); printf(n 請(qǐng)輸入 d 與%d 之間的權(quán)值:,n, m); scanf(%d,&D-arcnm.weight); printf(鄰接矩陣為:n); for ( i = 1; i vexnum; i+) for ( j = 1; j vexnum; j+) printf(%d ,D-arcij.adj); printf(n); void sort(edge edges,MGraphA *D)/對(duì)權(quán)值進(jìn)行排序 int i, j; for ( i = 1; i arcnum; i+) for ( j = i + 1;
28、j arcnum; j+) if (edgesi.weight edgesj.weight) Swapn(edges, i, j); 12 / 20 printf(-權(quán)排序之后的為:n); for (i = 1; i arcnum; i+) printf( %dn, edgesi.begin, edgesi.end, edgesi.weight); void Swapn(edge *edges,int i, int j)交換權(quán)值 以及頭和尾 int temp; temp = edgesi.begin;edgesi.begin = edgesj.begin; edgesj.begin = tem
29、p; temp = edgesi.end; edgesi.end = edgesj.end; edgesj.end = temp; temp = edgesi.weight; edgesi.weight = edgesj.weight; edgesj.weight = temp; void MiniSpanTree(MGraphA *D)/ 生成最小生成樹 (int i, j, n, m,SUM=0; int k = 1; int parentM; edge edgesM; for ( i = 1; i vexnum; i+) (for (j = i + 1; j vexnum; j+) (i
30、f (D-arcij.adj = 1)(edgesk.begin = i; edgesk.end = j; edgesk.weight = D-arcij.weight; k+; sort(edges, D); for (i = 1; i arcnum; i+) (parenti = 0; printf(最小生成樹為:n); for (i = 1; i arcnum; i+)/ 核心部分 (n = Find(parent, edgesi.begin); m = Find(parent, edgesi.end); if (n != m) (parentn = m; printf( %dn, ed
31、gesi.begin, edgesi.end, edgesi.weight); SUM=SUM+edgesi.weight; cout最少生成樹的代價(jià):; cout 0) (f = parentf; return f; void main() (algraph gra; 13 / 20 MGraph G; MGraphA *D; int i,d,m,g2020; char a=a; int s; char y=y; while(y=y)( printf( - . 應(yīng)小生成樹的求法 . n); printf( _ _ n); printf( | 1.鄰接矩陣(無(wú)向圖) |n); printf(
32、| 2.用prim算求最小生成樹(無(wú)向圖) |n); printf( | 3.用kruskal算法求最小生成樹 |n); printf( |_ _ |n) printf(- 肯選擇相應(yīng)的菜單(1-3) :); cins; switch(s) (case 1: d=creatMGraph(G); vnode v; coutendl注意:若該圖為非強(qiáng)連通圖(含有多個(gè)連通分量)時(shí)endl 最小生成樹不存在,則顯示為非法值endlendl; break; case 2: coutprim 算法求解如下:endl; for(i=0;i!=G.vexnum;+i) for(int j=0;j!=G .ve
33、xnum;+j)gi+1j+1=G .arcsij.adj; prim(g,d); break; case 3: coutkruskal 算法求解如下:endl; D = (MGraphA*)malloc(sizeof(MGraphA); CreatGraph(D); MiniSpanTree(D); break; printf(n); coutendly; if(y=n) break; 四、調(diào)試分析與體會(huì) 在我組的集體努力下,課程設(shè)計(jì)終于完成,由于我們對(duì)數(shù)據(jù)結(jié)構(gòu)和 c語(yǔ)言不是很了解, 有時(shí)忽略了一些關(guān)鍵的細(xì)節(jié),使得在編寫程序的過程中出現(xiàn)了一些問題。對(duì)于打字有時(shí)粗 心導(dǎo)致14 / 20 出現(xiàn)一
34、些難以發(fā)現(xiàn)的小錯(cuò)誤, 在我們的耐心,細(xì)致的調(diào)試下最終使得程序能夠運(yùn)行, 課程設(shè)計(jì)完滿完工。 1、 問題一:求出圖中的最小值 現(xiàn)象:求出的最小值是0 原因:圖中沒有連通的兩個(gè)頂點(diǎn)之間的權(quán)值賦值為 0 2、 問題二:求最小生成樹時(shí),else句需再調(diào)用一個(gè)函數(shù) 現(xiàn)象:對(duì)某些二義樹能求出最小生成樹,但不能普遍適應(yīng) 原因:對(duì)于找最小生成樹邊的各種可能沒有考慮全面,代碼才沒有廣泛的適應(yīng)性 3、問題三:兩個(gè)頂點(diǎn)之間的邊是否是最小生成樹的邊 現(xiàn)象:代碼的功能不能分辨出是否是最小生成樹的邊 原因:把簡(jiǎn)單的代碼寫的很復(fù)雜,從而雜亂無(wú)章出現(xiàn)錯(cuò)誤 五、運(yùn)行結(jié)果 將程序員錄入后,讓其運(yùn)行。將會(huì)出現(xiàn)一個(gè)菜單的界面,執(zhí)行各
35、種操作均有其對(duì)應(yīng)的 代碼。要執(zhí)行何種操作只需輸入對(duì)應(yīng)的指令即可進(jìn)行,在每步操作后均會(huì)有相應(yīng)的提示。 操作簡(jiǎn)單方便實(shí)用,下面即為一些操作的示意圖。 運(yùn)行程序后出界面,運(yùn)行結(jié)果如圖1所示。 m “E:詼料二詼料二 專專業(yè)業(yè)謀程貪料、程序?qū)嵺`謀程貪料、程序?qū)嵺`Web嘩諉嘩諉: :是小生成樹是小生成樹.exk 最小生成樹的求法 . d ! ! 建立建立鄰援矩陣匚鄰援矩陣匚無(wú)向圖無(wú)向圖 : ! 2 一用的一用的 0 0 箕注親箕注親最小段樹最小段樹無(wú)無(wú)向圖向圖 ! ! : 3 - kMiskal算法求最小生成樹算法求最小生成樹 : : : : 請(qǐng)選擇相應(yīng)請(qǐng)選擇相應(yīng)的菜單的菜單d-3X. . , 圖1初界面 圖中有1-3三個(gè)選項(xiàng),可選取其中的一個(gè)選項(xiàng)進(jìn)行操作 選取選項(xiàng)1進(jìn)行操作,運(yùn)行結(jié)果如圖2所示 15 / 20 圖2建立鄰接矩陣 依據(jù)提示,分別輸入無(wú)向圖的頂點(diǎn)個(gè)數(shù)與弧的個(gè)數(shù), 然后依次輸入各個(gè)頂點(diǎn)所對(duì)應(yīng)的 符號(hào)及與各個(gè)頂點(diǎn)相關(guān)聯(lián)的弧與權(quán)值,存在鄰接矩陣中。 若選取選項(xiàng)3,運(yùn)行結(jié)果如圖4所示。 方方 E:資料二資料二1專業(yè)課程資
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 陋室銘期末考試題及答案
- 外科醫(yī)試題及答案
- 郵政員工演講稿
- 2025【標(biāo)準(zhǔn)范本】商品批發(fā)合同
- 2025私營(yíng)企業(yè)公寓租賃合同
- 初中化學(xué)魯教版九年級(jí)下冊(cè)第二節(jié) 金屬的化學(xué)性質(zhì)習(xí)題
- 2025飲品類代理銷售合同書范本
- 《2025合同轉(zhuǎn)讓協(xié)議書:合同權(quán)益義務(wù)承接》
- 有關(guān)5s考試試題及答案
- 2025合同范本商業(yè)合同
- 電梯安全管理員培訓(xùn)
- 《財(cái)務(wù)課件:特殊資產(chǎn)處理詳解》
- 通信工程安全試題及答案
- 河北開放大學(xué)2025年《醫(yī)用基礎(chǔ)化學(xué)#》形考任務(wù)2答案
- 2024年江蘇省南京中考模擬英語(yǔ)試題(原卷版+解析版)
- 北森測(cè)評(píng)試題及答案全部
- 2025年江蘇省南京市鼓樓區(qū)中考一模英語(yǔ)試卷(含答案)
- 化工行業(yè)典型事故案例分析
- 北森測(cè)評(píng)試題及答案
- 防水材料管理制度
- 軍品管理制度
評(píng)論
0/150
提交評(píng)論