版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 二 ○ 一○ 屆 課 程 設(shè) 計(jì) 論 文</p><p><b> 《算法與數(shù)據(jù)結(jié)構(gòu)》</b></p><p><b> 二〇一〇年六月</b></p><p><b> 目錄</b></p><p> 一、引言 …………………………………………
2、</p><p> 二、設(shè)計(jì)目的與任務(wù)………………………………</p><p><b> 1·課程設(shè)計(jì)的目的</b></p><p><b> 2·課程設(shè)計(jì)的任務(wù)</b></p><p> 三、設(shè)計(jì)方案………………………………………</p><p>
3、;<b> 1·需求分析</b></p><p><b> 2·概要設(shè)計(jì)</b></p><p><b> 3·詳細(xì)設(shè)計(jì)</b></p><p><b> 4·程序清單</b></p><p> 四、調(diào)試分
4、析………………………………………</p><p> 五、測(cè)試結(jié)果………………………………………</p><p> 六、附錄……………………………………………</p><p> 七、工作環(huán)境………………………………………</p><p> 八、參考文獻(xiàn)……………………………</p><p> 《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)
5、計(jì)</p><p><b> ——最小生成樹(shù)問(wèn)題</b></p><p><b> 一、引言</b></p><p> 《數(shù)據(jù)結(jié)構(gòu)》是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)和信息系統(tǒng)專業(yè)的必修課之一,是一門(mén)綜合的專業(yè)技術(shù)課。本課程較系統(tǒng)的介紹了軟件開(kāi)發(fā)過(guò)程中常用的數(shù)據(jù)結(jié)構(gòu)及相應(yīng)的實(shí)現(xiàn)算法。如線性表、棧、隊(duì)列、樹(shù)和二叉樹(shù),圖、檢索和排列
6、等,并對(duì)性能進(jìn)行分析和比較,內(nèi)容非常豐富。</p><p> 本課程設(shè)計(jì)我們要解決的是最小生成樹(shù)問(wèn)題。要用到圖的相關(guān)數(shù)據(jù)結(jié)構(gòu)和最小生成樹(shù)的克魯斯卡爾算法,以及存儲(chǔ)圖的邊和點(diǎn)的鄰接矩陣。</p><p> 本課程設(shè)計(jì)要解決的問(wèn)題是構(gòu)造連通圖的最小生成樹(shù)我們首先要做的是都造一個(gè)鄰接表,用以存儲(chǔ)圖,然后我們要想好怎樣利用克魯斯卡爾算法構(gòu)造最小生成樹(shù),把這個(gè)算法寫(xiě)入主程序,調(diào)試好程序,最后完成
7、報(bào)告。</p><p><b> 二、設(shè)計(jì)目的與任務(wù)</b></p><p><b> 1·課程設(shè)計(jì)的目的</b></p><p> 本課程設(shè)計(jì)是為了了解并掌握數(shù)據(jù)結(jié)構(gòu)及算法的設(shè)計(jì)方法,具備初步的獨(dú)立分析和設(shè)計(jì)能力;初步掌握軟件開(kāi)發(fā)過(guò)程的相關(guān)步驟;提高運(yùn)用所學(xué)理論知識(shí)獨(dú)立分析和解決問(wèn)題的能力;訓(xùn)練用系統(tǒng)的觀
8、點(diǎn)和軟件開(kāi)發(fā)的一般規(guī)范進(jìn)行軟件開(kāi)發(fā)。</p><p><b> 2·課程設(shè)計(jì)的任務(wù)</b></p><p> 問(wèn)題描述:若要在n個(gè)城市之間建設(shè)通信網(wǎng)絡(luò),只需架設(shè)n—1條線路即可。如何以最低的經(jīng)濟(jì)代價(jià)建設(shè)這個(gè)通信網(wǎng),是一個(gè)最小生成樹(shù)的問(wèn)題。</p><p><b> 三、設(shè)計(jì)方案</b></p>
9、<p><b> 1·需求分析</b></p><p> 利用克魯斯卡爾算法求最小生成樹(shù);</p><p> 實(shí)現(xiàn)教科書(shū)6.5節(jié)中抽象數(shù)據(jù)類型MFSet。以此表示構(gòu)造生成樹(shù)過(guò)程中的連通分量。</p><p> 以文本形式輸出生成樹(shù)中各條邊以及它們的權(quán)值。</p><p><b>
10、 2·概要設(shè)計(jì)</b></p><p> 抽象數(shù)據(jù)類型(ADT)如下:</p><p> ADT GRAPH{</p><p> 數(shù)據(jù)對(duì)象V:V是具有相同特性的數(shù)據(jù)元素的集合,成為頂點(diǎn)集。</p><p><b> 數(shù)據(jù)關(guān)系R:</b></p><p><b&g
11、t; R={VR}</b></p><p> VR={<v,w>|v,w∈V且P(v,w),<v,w>表示從v到w的弧,</p><p> 謂詞P(v,w)定義了弧<v,w>的意義或信息</p><p><b> 基本操作P:</b></p><p> Creat
12、eGraph(&G,V,VR)</p><p> 初始條件:v是圖的頂點(diǎn)集,VR是圖中弧的集合。</p><p> 操作結(jié)果:按V和VR的定義構(gòu)造圖G。</p><p> DestroyGraph(&G)</p><p> 初始條件:圖G存在。</p><p> 操作結(jié)果:銷毀圖G </
13、p><p> LocateVex(G,u)</p><p> 初始條件:圖G存在,u和G中定點(diǎn)有相同特征。</p><p> 操作結(jié)果:若圖G中存在頂點(diǎn)u,則返回頂點(diǎn)在圖中的位置;否則返回其他信息。</p><p> GetVex(G,v)</p><p> 初始條件:圖G存在,v是G中某個(gè)頂點(diǎn)。</p&g
14、t;<p> 操作結(jié)果:返回v的值。</p><p> PutVex(&G,v,value)...</p><p> 初始條件:圖G存在。</p><p> 操作結(jié)果:對(duì)v賦值value。</p><p><b> }</b></p><p><b>
15、存儲(chǔ)結(jié)構(gòu)</b></p><p> typedef struct</p><p><b> {</b></p><p> int begin;</p><p><b> int end;</b></p><p> int weight;</p>
16、;<p><b> }edge;</b></p><p> typedef struct</p><p><b> {</b></p><p><b> int adj;</b></p><p> int weight;</p><p
17、> }AdjMatrix[MAX][MAX];</p><p> typedef struct</p><p><b> {</b></p><p> AdjMatrix arc;</p><p> int vexnum, arcnum;</p><p><b> }M
18、Graph;</b></p><p><b> 流程圖</b></p><p><b> 3·詳細(xì)設(shè)計(jì)</b></p><p> 在該函數(shù)中主要有6段代碼塊,分別是圖的構(gòu)建代碼,對(duì)權(quán)值排序的代碼,交換權(quán)值代碼,最小生成樹(shù)代碼,找尾代碼,主函數(shù)代碼。6段代碼分別實(shí)現(xiàn)不同的功能,共同滿足了課題所需要
19、實(shí)現(xiàn)的功能。</p><p><b> 主函數(shù)代碼</b></p><p> int main(void)//主函數(shù)</p><p><b> {</b></p><p> MGraph *G;</p><p> G = (MGraph*)malloc(sizeof
20、(MGraph));</p><p> if (G == NULL)</p><p><b> {</b></p><p> printf("memory allcation failed,goodbye");</p><p><b> exit(1);</b></
21、p><p><b> }</b></p><p> CreatGraph(G);</p><p> MiniSpanTree(G);</p><p> system("pause");</p><p><b> return 0;</b></p
22、><p><b> }</b></p><p><b> 圖的構(gòu)建代碼</b></p><p> void CreatGraph(MGraph *G)//構(gòu)件圖</p><p><b> {</b></p><p> int i, j,n, m;&
23、lt;/p><p> printf("請(qǐng)輸入邊數(shù)和頂點(diǎn)數(shù):");</p><p> scanf("%d %d",&G->arcnum,&G->vexnum);</p><p> for (i = 1; i <= G->vexnum; i++)//初始化圖</p><
24、p><b> {</b></p><p> for ( j = 1; j <= G->vexnum; j++)</p><p><b> {</b></p><p> G->arc[i][j].adj = G->arc[j][i].adj = 0;</p><p&g
25、t;<b> }</b></p><p><b> }</b></p><p> for ( i = 1; i <= G->arcnum; i++)//輸入邊和權(quán)值</p><p><b> {</b></p><p> printf("\n請(qǐng)輸
26、入有邊的2個(gè)頂點(diǎn)");</p><p> scanf("%d %d",&n,&m);</p><p> while(n < 0 || n > G->vexnum || m < 0 || n > G->vexnum)</p><p><b> {</b><
27、;/p><p> printf("輸入的數(shù)字不符合要求 請(qǐng)重新輸入:");</p><p> scanf("%d%d",&n,&m);</p><p><b> }</b></p><p> G->arc[n][m].adj = G->arc[m][
28、n].adj = 1;</p><p> getchar();</p><p> printf("\n請(qǐng)輸入%d與%d之間的權(quán)值:", n, m);</p><p> scanf("%d",&G->arc[n][m].weight);</p><p><b> }<
29、/b></p><p> printf("鄰接矩陣為:\n");</p><p> for ( i = 1; i <= G->vexnum; i++)</p><p><b> {</b></p><p> for ( j = 1; j <= G->vexnum;
30、 j++)</p><p><b> {</b></p><p> printf("%d ",G->arc[i][j].adj);</p><p><b> }</b></p><p> printf("\n");</p><
31、p><b> }</b></p><p><b> }</b></p><p><b> 對(duì)權(quán)值排序的代碼</b></p><p> void sort(edge edges[],MGraph *G)//對(duì)權(quán)值進(jìn)行排序</p><p><b> {&l
32、t;/b></p><p><b> int i, j;</b></p><p> for ( i = 1; i < G->arcnum; i++)</p><p><b> {</b></p><p> for ( j = i + 1; j <= G->arc
33、num; j++)</p><p><b> {</b></p><p> if (edges[i].weight > edges[j].weight)</p><p><b> {</b></p><p> Swapn(edges, i, j);</p><p&g
34、t;<b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> printf("權(quán)排序之后的為:\n");</p><p> for (i = 1; i < G->arcnum;
35、i++)</p><p><b> {</b></p><p> printf("<< %d, %d >> %d\n", edges[i].begin, edges[i].end, edges[i].weight);</p><p><b> }</b></p&g
36、t;<p><b> }</b></p><p><b> 交換權(quán)值代碼</b></p><p> void Swapn(edge *edges,int i, int j)//交換權(quán)值 以及頭和尾</p><p><b> {</b></p><p>&l
37、t;b> int temp;</b></p><p> temp = edges[i].begin;</p><p> edges[i].begin = edges[j].begin;</p><p> edges[j].begin = temp;</p><p> temp = edges[i].end;<
38、/p><p> edges[i].end = edges[j].end;</p><p> edges[j].end = temp;</p><p> temp = edges[i].weight;</p><p> edges[i].weight = edges[j].weight;</p><p> edge
39、s[j].weight = temp;</p><p><b> }</b></p><p><b> 最小生成樹(shù)代碼</b></p><p> void MiniSpanTree(MGraph *G)//生成最小生成樹(shù)</p><p><b> {</b></p
40、><p> int i, j, n, m;</p><p> int k = 1;</p><p> int parent[M];</p><p> edge edges[M];</p><p> for ( i = 1; i < G->vexnum; i++)</p><p>
41、;<b> {</b></p><p> for (j = i + 1; j <= G->vexnum; j++)</p><p><b> {</b></p><p> if (G->arc[i][j].adj == 1)</p><p><b> {<
42、/b></p><p> edges[k].begin = i;</p><p> edges[k].end = j;</p><p> edges[k].weight = G->arc[i][j].weight;</p><p><b> k++;</b></p><p>&
43、lt;b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> sort(edges, G);</p><p> for (i = 1; i <= G->arcnum; i++)</p>&l
44、t;p><b> {</b></p><p> parent[i] = 0;</p><p><b> }</b></p><p> printf("最小生成樹(shù)為:\n");</p><p> for (i = 1; i <= G->arcnum; i
45、++)//核心部分</p><p><b> {</b></p><p> n = Find(parent, edges[i].begin);</p><p> m = Find(parent, edges[i].end);</p><p> if (n != m)</p><p><
46、;b> {</b></p><p> parent[n] = m;</p><p> printf("<< %d, %d >> %d\n", edges[i].begin, edges[i].end, edges[i].weight);</p><p><b> }</b>
47、;</p><p><b> }</b></p><p><b> }</b></p><p><b> 6)找尾代碼</b></p><p> int Find(int *parent, int f)//找尾</p><p><b>
48、 {</b></p><p> while ( parent[f] > 0)</p><p><b> {</b></p><p> f = parent[f];</p><p><b> }</b></p><p><b> retu
49、rn f;</b></p><p><b> }</b></p><p><b> 4·程序清單</b></p><p> /*Name:最小生成樹(shù)kruskal算法</p><p> Author:Song Changzhi</p><p>
50、 Description:生成最小生成樹(shù) </p><p> Date: 2010-06-15 20:07</p><p> Copyright:Song Changzhi</p><p><b> */</b></p><p> #include<stdio.h></p><p&
51、gt; #include<stdlib.h></p><p> #define M 20</p><p> #define MAX 20</p><p> typedef struct</p><p><b> {</b></p><p> int begin;</p
52、><p><b> int end;</b></p><p> int weight;</p><p><b> }edge;</b></p><p> typedef struct</p><p><b> {</b></p>&l
53、t;p><b> int adj;</b></p><p> int weight;</p><p> }AdjMatrix[MAX][MAX];</p><p> typedef struct</p><p><b> {</b></p><p> Adj
54、Matrix arc;</p><p> int vexnum, arcnum;</p><p><b> }MGraph;</b></p><p> void CreatGraph(MGraph *);//函數(shù)申明</p><p> void sort(edge* ,MGraph *);</p>
55、<p> void MiniSpanTree(MGraph *);</p><p> int Find(int *, int );</p><p> void Swapn(edge *, int, int);</p><p> void CreatGraph(MGraph *G)//構(gòu)件圖</p><p><b>
56、; {</b></p><p> int i, j,n, m;</p><p> printf("請(qǐng)輸入邊數(shù)和頂點(diǎn)數(shù):");</p><p> scanf("%d %d",&G->arcnum,&G->vexnum);</p><p> for (i =
57、 1; i <= G->vexnum; i++)//初始化圖</p><p><b> {</b></p><p> for ( j = 1; j <= G->vexnum; j++)</p><p><b> {</b></p><p> G->arc[i][
58、j].adj = G->arc[j][i].adj = 0;</p><p><b> }</b></p><p><b> }</b></p><p> for ( i = 1; i <= G->arcnum; i++)//輸入邊和權(quán)值</p><p><b>
59、 {</b></p><p> printf("\n請(qǐng)輸入有邊的2個(gè)頂點(diǎn)");</p><p> scanf("%d %d",&n,&m);</p><p> while(n < 0 || n > G->vexnum || m < 0 || n > G->v
60、exnum)</p><p><b> {</b></p><p> printf("輸入的數(shù)字不符合要求 請(qǐng)重新輸入:");</p><p> scanf("%d%d",&n,&m);</p><p><b> }</b></p
61、><p> G->arc[n][m].adj = G->arc[m][n].adj = 1;</p><p> getchar();</p><p> printf("\n請(qǐng)輸入%d與%d之間的權(quán)值:", n, m);</p><p> scanf("%d",&G->arc
62、[n][m].weight);</p><p><b> }</b></p><p> printf("鄰接矩陣為:\n");</p><p> for ( i = 1; i <= G->vexnum; i++)</p><p><b> {</b></
63、p><p> for ( j = 1; j <= G->vexnum; j++)</p><p><b> {</b></p><p> printf("%d ",G->arc[i][j].adj);</p><p><b> }</b></p>
64、<p> printf("\n");</p><p><b> }</b></p><p><b> }</b></p><p> void sort(edge edges[],MGraph *G)//對(duì)權(quán)值進(jìn)行排序</p><p><b> {
65、</b></p><p><b> int i, j;</b></p><p> for ( i = 1; i < G->arcnum; i++)</p><p><b> {</b></p><p> for ( j = i + 1; j <= G->a
66、rcnum; j++)</p><p><b> {</b></p><p> if (edges[i].weight > edges[j].weight)</p><p><b> {</b></p><p> Swapn(edges, i, j);</p><p
67、><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> printf("權(quán)排序之后的為:\n");</p><p> for (i = 1; i < G->arcnum
68、; i++)</p><p><b> {</b></p><p> printf("<< %d, %d >> %d\n", edges[i].begin, edges[i].end, edges[i].weight);</p><p><b> }</b></p
69、><p><b> }</b></p><p> void Swapn(edge *edges,int i, int j)//交換權(quán)值 以及頭和尾</p><p><b> {</b></p><p><b> int temp;</b></p><p&
70、gt; temp = edges[i].begin;</p><p> edges[i].begin = edges[j].begin;</p><p> edges[j].begin = temp;</p><p> temp = edges[i].end;</p><p> edges[i].end = edges[j].end
71、;</p><p> edges[j].end = temp;</p><p> temp = edges[i].weight;</p><p> edges[i].weight = edges[j].weight;</p><p> edges[j].weight = temp;</p><p><b&
72、gt; }</b></p><p> void MiniSpanTree(MGraph *G)//生成最小生成樹(shù)</p><p><b> {</b></p><p> int i, j, n, m;</p><p> int k = 1;</p><p> int par
73、ent[M];</p><p> edge edges[M];</p><p> for ( i = 1; i < G->vexnum; i++)</p><p><b> {</b></p><p> for (j = i + 1; j <= G->vexnum; j++)</p&
74、gt;<p><b> {</b></p><p> if (G->arc[i][j].adj == 1)</p><p><b> {</b></p><p> edges[k].begin = i;</p><p> edges[k].end = j;</p&
75、gt;<p> edges[k].weight = G->arc[i][j].weight;</p><p><b> k++;</b></p><p><b> }</b></p><p><b> }</b></p><p><b>
76、 }</b></p><p> sort(edges, G);</p><p> for (i = 1; i <= G->arcnum; i++)</p><p><b> {</b></p><p> parent[i] = 0;</p><p><b>
77、; }</b></p><p> printf("最小生成樹(shù)為:\n");</p><p> for (i = 1; i <= G->arcnum; i++)//核心部分</p><p><b> {</b></p><p> n = Find(parent, edg
78、es[i].begin);</p><p> m = Find(parent, edges[i].end);</p><p> if (n != m)</p><p><b> {</b></p><p> parent[n] = m;</p><p> printf("<
79、;< %d, %d >> %d\n", edges[i].begin, edges[i].end, edges[i].weight);</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p&g
80、t;<p> int Find(int *parent, int f)//找尾</p><p><b> {</b></p><p> while ( parent[f] > 0)</p><p><b> {</b></p><p> f = parent[f];&l
81、t;/p><p><b> }</b></p><p><b> return f;</b></p><p><b> }</b></p><p> int main(void)//主函數(shù)</p><p><b> {</b>
82、</p><p> MGraph *G;</p><p> G = (MGraph*)malloc(sizeof(MGraph));</p><p> if (G == NULL)</p><p><b> {</b></p><p> printf("memory allca
83、tion failed,goodbye");</p><p><b> exit(1);</b></p><p><b> }</b></p><p> CreatGraph(G);</p><p> MiniSpanTree(G);</p><p> s
84、ystem("pause");</p><p><b> return 0;</b></p><p><b> }</b></p><p><b> 四、調(diào)試分析</b></p><p> 終于,在老師的耐心指導(dǎo)和同學(xué)的幫助下,我的課設(shè)任務(wù)完成了。通
85、過(guò)這次課程設(shè)計(jì)中遇到的許多問(wèn)題,我收獲頗多,下面就談一談我遇到的一個(gè)主要問(wèn)題及相應(yīng)的產(chǎn)生原因。</p><p> 問(wèn)題:頂點(diǎn)名的類型識(shí)別。</p><p> 現(xiàn)象:當(dāng)用字母表示頂點(diǎn)時(shí),程序進(jìn)入死循環(huán)。</p><p> 原因:頂點(diǎn)名稱與頂點(diǎn)數(shù)屬于同一數(shù)據(jù)類型即是int整形,當(dāng)出現(xiàn)類型沖突時(shí),程序不能識(shí)別就會(huì)發(fā)生沖突。</p><p>&
86、lt;b> 五、測(cè)試結(jié)果</b></p><p> 當(dāng)運(yùn)行程序時(shí),進(jìn)入每一步都會(huì)有相應(yīng)提示,這會(huì)對(duì)程序的使用者提供較大的便利。下面就是程序運(yùn)行時(shí)的一些截圖。</p><p><b> 對(duì)給定的圖運(yùn)行程序</b></p><p><b> 下面是給定的圖</b></p><p&g
87、t;<b> 運(yùn)行程序</b></p><p><b> 輸入頂點(diǎn)數(shù)和邊數(shù)后</b></p><p><b> 輸入各邊及其權(quán)值后</b></p><p><b> 運(yùn)行結(jié)果</b></p><p><b> 六、附錄</b>
88、;</p><p> 由于添加了如下兩段代碼:</p><p> printf("鄰接矩陣為:\n");</p><p> for ( i = 1; i <= G->vexnum; i++)</p><p><b> {</b></p><p> for
89、( j = 1; j <= G->vexnum; j++)</p><p><b> {</b></p><p> printf("%d ",G->arc[i][j].adj);</p><p><b> }</b></p><p> printf(&q
90、uot;\n");</p><p><b> }</b></p><p> printf("權(quán)排序之后的為:\n");</p><p> for (i = 1; i < G->arcnum; i++)</p><p><b> {</b></p
91、><p> printf("<< %d, %d >> %d\n", edges[i].begin, edges[i].end, edges[i].weight);</p><p><b> }</b></p><p><b> }</b></p><p&
92、gt; 程序又可以將圖的鄰接矩陣和排序后的權(quán)值列出來(lái),多實(shí)現(xiàn)了兩個(gè)附加功能。這對(duì)于程序的使用者而言將能更直觀更方便的理解有圖到最小生成樹(shù)的運(yùn)算過(guò)程,有利于對(duì)克魯斯卡爾算法的理解和掌握。</p><p><b> 七、工作環(huán)境</b></p><p> 編譯環(huán)境:Dev-C++4.9.9.2</p><p> 文檔書(shū)寫(xiě)工具:Microso
93、ft Office Word2003</p><p> 硬件環(huán)境:Intel(R) Core(TM)2 Duo CPU</p><p> T5870 @2.00Hz</p><p><b> 2.00GB 內(nèi)存</b></p><p><b> 八、參考文獻(xiàn)</b></p>&
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)-最小生成樹(shù)問(wèn)題
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告--最小生成樹(shù)
- 《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計(jì)--最小生成樹(shù)問(wèn)題
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--最小生成樹(shù)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)-最小生成樹(shù)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)java--最小生成樹(shù)
- 最小生成樹(shù)課程設(shè)計(jì)
- 最小生成樹(shù)課程設(shè)計(jì)
- 最小生成樹(shù)課程設(shè)計(jì)
- 最小生成樹(shù)求解課程設(shè)計(jì)報(bào)告
- 最小生成樹(shù)課程設(shè)計(jì) (2)
- 普里姆算法生成最小生成樹(shù)課程設(shè)計(jì)
- 徐州工程學(xué)院數(shù)據(jù)結(jié)構(gòu)最小生成樹(shù)實(shí)驗(yàn)文檔
- 數(shù)據(jù)結(jié)構(gòu),最小生成樹(shù)克魯斯卡爾算法的實(shí)現(xiàn)
- 課程設(shè)計(jì)---克魯斯卡爾算法求最小生成樹(shù)
- 4最小生成樹(shù)
- 4最小生成樹(shù)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)-- 圖的遍歷和生成樹(shù)求解
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)迷宮問(wèn)題課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)-----最小套圈設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論