版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計(jì)</p><p> ———————猴子選王問題求解和二叉樹的建立</p><p> 專 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù)</p><p><b> 班 級(jí) </b></p><p><b> 指導(dǎo)教師 </b></p><p
2、> 編寫日期 2012年6月24日</p><p><b> 目 錄</b></p><p> 一、 課程設(shè)計(jì)的目的………………………………………………3</p><p> 二、 課程設(shè)計(jì)的要求………………………………………………3</p><p> 三、 相關(guān)知識(shí)………………………………………
3、………………3</p><p> 四、 問題的分析……………………………………………………3</p><p> 五、 數(shù)據(jù)結(jié)構(gòu)的描述………………………………………………4</p><p> 六、 算法的設(shè)計(jì)……………………………………………………4</p><p> 七、 代碼實(shí)現(xiàn)………………………………………………………6&
4、lt;/p><p> 八、 程序運(yùn)行成功展示……………………………………………11</p><p> 九、 心得體會(huì)………………………………………………………14</p><p> 十、 參考資料………………………………………………………14</p><p><b> 一、課程設(shè)計(jì)的目的</b></p&g
5、t;<p> 課程設(shè)計(jì)是學(xué)生對(duì)課程所學(xué)知識(shí)的綜合運(yùn)用,它與課堂聽講、上機(jī)實(shí)驗(yàn)、課外練習(xí)、自學(xué)研究相輔相成,構(gòu)成一個(gè)完整的課程教學(xué)體系。《數(shù)據(jù)結(jié)構(gòu)》是一門實(shí)踐性強(qiáng)的課程,其中對(duì)算法設(shè)計(jì)和程序編寫的掌握尤為重要。學(xué)生雖然可以通過與課堂教學(xué)同步的上機(jī)實(shí)驗(yàn)完成相關(guān)內(nèi)容的練習(xí),但卻往往局限于一些功能簡單、彼此之間關(guān)系獨(dú)立的算法和程序。課程設(shè)計(jì)是一種綜合訓(xùn)練,致力于培養(yǎng)學(xué)生全面、靈活的算法設(shè)計(jì)思想和較高的編程能力,為今后從事計(jì)算機(jī)開
6、發(fā)與應(yīng)用打下基礎(chǔ)。新世紀(jì)需要具有豐富科學(xué)知識(shí)、獨(dú)立解決實(shí)際問題、有創(chuàng)造能力的新型人才,這也是該課程設(shè)計(jì)的最終目的。</p><p><b> 二、課程設(shè)計(jì)的要求</b></p><p> 1、猴子選王問題描述</p><p> 一堆猴子都有編號(hào),編號(hào)是1,2,3 ...m ,這群猴子(m個(gè))按照1-m的順序圍坐一圈,從第1開始數(shù),每數(shù)到第
7、n個(gè),該猴子就要離開此圈,這樣依次下來,直到圈中只剩下最后一只猴子,則該猴子為大王。</p><p> 2、二叉樹的建立描述</p><p> 已知二叉樹T中結(jié)點(diǎn)的前序和中序遍歷序列,編寫算法實(shí)現(xiàn)構(gòu)造滿足上述條件的二叉樹。 </p><p> 3、界面設(shè)計(jì)模塊問題描述</p><p> 設(shè)計(jì)一個(gè)菜單式界面,讓用戶可以選擇要解決的問題,
8、同時(shí)可以退出程序。界面要求簡潔明了,大方得體,便于用戶的使用,同時(shí),對(duì)于用戶的錯(cuò)誤選擇可以進(jìn)行有效的處理。</p><p><b> 三、相關(guān)知識(shí)</b></p><p><b> 1、猴子選王求解</b></p><p> 約瑟夫環(huán)(Josephus)問題是由古羅馬的史學(xué)家約瑟夫(Josephus)提出的,他參加并
9、記錄了公元66—70年猶太人反抗羅馬的起義。約瑟夫作為一個(gè)將軍,設(shè)法守住了裘達(dá)伯特城達(dá)47天之久,在城市淪陷之后,他和40名死硬的將士在附近的一個(gè)洞穴中避難。在那里,這些叛亂者表決說“要投降毋寧死”。于是,約瑟夫建議每個(gè)人輪流殺死他旁邊的人,而這個(gè)順序是由抽簽決定的。約瑟夫有預(yù)謀地抓到了最后一簽,并且,作為洞穴中的兩個(gè)幸存者之一,他說服了他原先的犧牲品一起投降了羅馬。 </p><p> 約瑟夫環(huán)問題的具體描述
10、是:設(shè)有編號(hào)為1,2,……,n的n(n>0)個(gè)人圍成一個(gè)圈,從第1個(gè)人開始報(bào)數(shù),報(bào)到m時(shí)停止報(bào)數(shù),報(bào)m的人出圈,再從他的下一個(gè)人起重新報(bào)數(shù),報(bào)到m時(shí)停止報(bào)數(shù),報(bào)m的出圈,……,如此下去,直到所有人全部出圈為止。當(dāng)任意給定n和m后,設(shè)計(jì)算法求n個(gè)人出圈的次序</p><p><b> 2、二叉樹的建立</b></p><p> 二叉樹的存儲(chǔ)結(jié)構(gòu)為二叉鏈表<
11、;/p><p><b> C語言</b></p><p><b> 二叉樹的遍歷</b></p><p><b> 四、問題的分析</b></p><p> 1、猴子選王問題的分析</p><p> 通過問題的文字描述可以先把問題簡化為一個(gè)簡單的線
12、性順序表,然后通過順序查找來刪除所需元素,但是因?yàn)樵擃}的需要進(jìn)行循環(huán)計(jì)數(shù),因此需要將此線性順序表改造成為一個(gè)循環(huán)鏈表,通過指針將表頭和表尾連接起來,再通過指針計(jì)數(shù)將所需刪除的元素導(dǎo)出,最后通過重復(fù)操作將元素逐一刪除,得到自己最后想要得到的元素,即猴王。</p><p><b> 2、二叉樹的建立</b></p><p> 由于要根據(jù)二叉樹中結(jié)點(diǎn)的中序和后序遍歷序列
13、,建立的二叉樹以二叉鏈表的存儲(chǔ)結(jié)構(gòu)進(jìn)行存儲(chǔ),并且輸出二叉樹的先序遍歷序列,所以我們先根據(jù)后序遍歷序列的最后一個(gè)結(jié)點(diǎn)是根節(jié)點(diǎn)出發(fā),再在中序遍歷序列中找個(gè)該字符,則左右兩邊分別為左右子數(shù)的字符序列.以這個(gè)思想遞歸調(diào)用函數(shù)建立起二叉樹.然而先序遍歷是先遍歷根節(jié)點(diǎn)再遍歷左右字?jǐn)?shù),我們就編寫相關(guān)的函數(shù)調(diào)用即可</p><p><b> 五、數(shù)據(jù)結(jié)構(gòu)描述</b></p><p>
14、; typedef struct Lnode{</p><p><b> int data;</b></p><p> struct Lnode *next;</p><p> }linklist;//單鏈表解決猴子選王時(shí)儲(chǔ)存結(jié)點(diǎn)信息</p><p> typedef struct node{ </p&g
15、t;<p> char data;</p><p> struct node * lch,*rch;</p><p> }BTNode,*BTree;//樹的二叉鏈表儲(chǔ)存表示</p><p><b> 六、算法的設(shè)計(jì)</b></p><p><b> 1、程序功能模塊圖</b>
16、;</p><p><b> 2、算法設(shè)計(jì)</b></p><p><b> ?。?)猴子選擇問題</b></p><p> head = (linklist*) malloc(sizeof(linklist)); /* 創(chuàng)建循環(huán)鏈表,頭節(jié)點(diǎn)也存信息*/</p><p><b> p
17、 = head;</b></p><p> p->data = 1;</p><p> p->next = p;</p><p> for (i = 2; i <= n; i++) {</p><p> s = (linklist*) malloc(sizeof(linklist));</p>
18、;<p> s->data = i;</p><p> s->next = p->next;</p><p> p->next = s;</p><p> p = p->next;</p><p> } /* 初始化循環(huán)鏈表*/</p><p><b&g
19、t; p = head;</b></p><p> for (i = 1; i < k; i++){</p><p> p = p->next;</p><p> } /* 找到第k 個(gè)節(jié)點(diǎn)*/</p><p> total = n; /* 保存節(jié)點(diǎn)總數(shù)*/</p><p>
20、 printf("\n出局序列為:");</p><p><b> q = head;</b></p><p> while (total != 1) /* 只剩一個(gè)節(jié)點(diǎn)時(shí)停止循環(huán)*/</p><p><b> {</b></p><p> for (i = 1;
21、 i < m; i++){</p><p> p = p->next;</p><p> } /* 報(bào)數(shù)過程,p指向要?jiǎng)h除的節(jié)點(diǎn)*/</p><p> printf("[%d] ", p->data);/* 打印要?jiǎng)h除的節(jié)點(diǎn)序號(hào)*/</p><p> while (q->next !=
22、p){</p><p> q = q->next;</p><p> }/* q 指向p 節(jié)點(diǎn)的前驅(qū)*/</p><p> q->next = p->next; /* 刪除p 節(jié)點(diǎn)*/</p><p> s = p;/* 保存被刪除節(jié)點(diǎn)指針*/</p><p> p = p->next
23、;/* p 指向被刪除節(jié)點(diǎn)的后繼*/</p><p> free(s);/* 釋放被刪除的節(jié)點(diǎn)*/</p><p> total--; /* 節(jié)點(diǎn)個(gè)數(shù)減一*/</p><p><b> }</b></p><p><b> ?。?)二叉樹的建立</b></p><p>
24、 void create(BTree *t,int instart,int inend,int poststart,int postend)</p><p><b> {int i;</b></p><p> if(inend>=instart&&postend>=poststart)</p><p><
25、b> {</b></p><p> *t=(BTree)malloc(LEN);</p><p> (*t)->data=post[postend];</p><p> i=instart;</p><p> while(pin[i]!=post[postend])i++;</p><p&
26、gt; if(i==instart)</p><p> (*t)->lch=NULL;</p><p><b> else{</b></p><p> create(&(*t)->lch,instart,i-1,poststart,poststart+i-1-instart);</p><p>
27、; /*左子樹的中序起始點(diǎn)為整棵樹的中序起始點(diǎn)instart*/</p><p> /* 終止點(diǎn)為根節(jié)點(diǎn)的前一個(gè)i-1 */</p><p> /* 后序起始點(diǎn)為整棵樹的后序起始點(diǎn)poststart*/</p><p> /* 后序終止點(diǎn)為后序起始點(diǎn)加上左子樹節(jié)點(diǎn)個(gè)數(shù)減一:*/</p><p> /* poststart+(i-1-
28、instart+1)-1*/</p><p><b> }</b></p><p> if(i==inend)</p><p> (*t)->rch=NULL; /*如果根在中序序列的最后一個(gè)右空*/</p><p><b> else</b></p>
29、<p><b> {</b></p><p> create(&(*t)->rch,i+1,inend,poststart+i-instart,postend-1);</p><p> /*右子樹的中序起始點(diǎn)是根的下一個(gè)i+1*/</p><p> /* 終止點(diǎn)是整棵樹中序的終止點(diǎn)inend*/</p&g
30、t;<p> /* 后序的起始點(diǎn)是左子樹后序終止點(diǎn)的下一個(gè)poststart+i-1-instart+1*/</p><p> /* 終止點(diǎn)是除根外的最后一個(gè)節(jié)點(diǎn),即倒數(shù)第二個(gè)*/</p><p><b> }</b></p><p><b> }</b></p><p>&l
31、t;b> else</b></p><p><b> *t=NULL;</b></p><p><b> }</b></p><p><b> 七、代碼實(shí)現(xiàn)</b></p><p> #include "stdafx.h"<
32、/p><p> #include<stdio.h></p><p> #include <conio.h></p><p> #include <stdlib.h></p><p> #define EL 10</p><p> #define TEL 2*EL+1</p
33、><p> #define LEN sizeof(struct node)</p><p> void welcome(){ </p><p> printf(" ******** WELCOME COME TO OUR SYSTEM ********\n");</p><p> pr
34、intf(" *******\n");</p><p> printf(" **** ****\n");</p><p> printf(" **
35、 **\n");</p><p> printf(" ** ∩ ∩ **\n"); </p><p> printf(" ** **\n"); </p>
36、<p> printf(" ** O **\n");</p><p> printf(" ** **\n");</p><p> printf("
37、 ** _______ **\n");</p><p> printf(" **** ****\n");</p><p> printf(" *****************************
38、*********************\n");</p><p> printf(" * * *\n");</p><p> printf(" * *
39、*\n");</p><p> printf(" * * *\n"); </p><p> printf(" * *************************** *\n");&l
40、t;/p><p> printf(" * **1.The monkey King Slect** *\n");</p><p> printf(" * *************************** *\n");</p><p>
41、 printf(" * *\n");</p><p> printf(" ***************** **********\n");</p><p> printf("
42、 **2.Binary Tree** **3.exit**\n");</p><p> printf(" ***************** **********\n");</p><p><b> }</b></p&
43、gt;<p> /* 以下是二叉樹的程序*/</p><p> char post[TEL]="CEDBHGJIFA";</p><p> char pin[TEL]="CBEDAGHFJI";</p><p> typedef struct node</p><p> { ch
44、ar data;</p><p> struct node * lch,*rch;</p><p> }BTNode,*BTree;</p><p> BTNode root;</p><p> BTree rt=&root;</p><p> void create(BTree *t,int ins
45、tart,int inend,int poststart,int postend)</p><p><b> {int i;</b></p><p> if(inend>=instart&&postend>=poststart)</p><p><b> {</b></p>
46、<p> *t=(BTree)malloc(LEN);</p><p> (*t)->data=post[postend];</p><p> i=instart;</p><p> while(pin[i]!=post[postend])i++;</p><p> if(i==instart)</p>
47、<p> (*t)->lch=NULL;</p><p><b> else{</b></p><p> create(&(*t)->lch,instart,i-1,poststart,poststart+i-1-instart);</p><p> /*左子樹的中序起始點(diǎn)為整棵樹的中序起始點(diǎn)instar
48、t*/</p><p> /* 終止點(diǎn)為根節(jié)點(diǎn)的前一個(gè)i-1 */</p><p> /* 后序起始點(diǎn)為整棵樹的后序起始點(diǎn)poststart*/</p><p> /* 后序終止點(diǎn)為后序起始點(diǎn)加上左子樹節(jié)點(diǎn)個(gè)數(shù)減一:*/</p><p> /* poststart+(i-1-instart+1)-1*/</p><
49、p><b> }</b></p><p> if(i==inend) </p><p> (*t)->rch=NULL; /*如果根在中序序列的最后一個(gè)右空*/</p><p><b> else</b></p><p><b> {
50、</b></p><p> create(&(*t)->rch,i+1,inend,poststart+i-instart,postend-1);</p><p> /*右子樹的中序起始點(diǎn)是根的下一個(gè)i+1*/</p><p> /* 終止點(diǎn)是整棵樹中序的終止點(diǎn)inend*/</p><p> /* 后序的起
51、始點(diǎn)是左子樹后序終止點(diǎn)的下一個(gè)poststart+i-1-instart+1*/</p><p> /* 終止點(diǎn)是除根外的最后一個(gè)節(jié)點(diǎn),即倒數(shù)第二個(gè)*/ </p><p><b> }</b></p><p><b> }</b></p><p><b> else</b&g
52、t;</p><p><b> *t=NULL;</b></p><p><b> }</b></p><p> void travel(BTree t)</p><p><b> {if(t)</b></p><p><b> {&
53、lt;/b></p><p> putchar(t->data);</p><p> travel(t->lch);</p><p> travel(t->rch);</p><p><b> }</b></p><p><b> }</b>
54、</p><p> void Binary (){</p><p> printf("*****************************WELCOME BINARY TREE********************************\n");</p><p> printf("
55、 小組成員:PPT 演講:張琪\n");</p><p> printf("\n");</p><p> printf(" 資料搜集:施芳\n");</p><p> printf("\n");</p><p>
56、; printf(" 程序編譯:陳孝堅(jiān)\n");</p><p> printf("\n");</p><p> printf("后序是:CBEDAGHFJI\n");</p><p> printf("中序是:CEDBHGJIFA
57、\n");</p><p> printf("輸入任意字符查看先序序列:"); </p><p><b> getch(); </b></p><p> create(&rt,0,9,0,9);</p><p> if(rt) travel(rt);</p>&
58、lt;p><b> }</b></p><p> /* 以下是猴子選王的程序*/</p><p> typedef struct Lnode{</p><p><b> int data;</b></p><p> struct Lnode *next;</p><
59、;p> }linklist;/* 定義鏈表節(jié)點(diǎn)類型*/</p><p> int mokeyking(){</p><p> int i, n, k, m, total;</p><p> linklist *head, *p, *s, *q; </p><p> printf("\n");</p&g
60、t;<p> printf("\n");</p><p> printf("************************WELCOME THE MONKEY KING SLECT***************************\n"); </p><p> printf("
61、 小組成員:PPT 演講:呂光躍\n");</p><p> printf("\n");</p><p> printf(" 資料搜集:樓冰\n");</p><p> printf("\n");</p><p&
62、gt; printf(" 程序編譯:龍啟昌\n");</p><p> printf("\n");</p><p> printf("請(qǐng)輸入猴子的個(gè)數(shù)n:");</p><p> scanf("%d", &n);
63、</p><p> printf("請(qǐng)輸入要從第幾個(gè)猴子開始報(bào)數(shù)k:");</p><p> scanf("%d", &k);</p><p> printf("請(qǐng)輸入出局?jǐn)?shù)字m:");</p><p> scanf("%d", &m);
64、 /* 讀入問題條件*/ </p><p> head = (linklist*) malloc(sizeof(linklist)); /* 創(chuàng)建循環(huán)鏈表,頭節(jié)點(diǎn)也存信息*/</p><p><b> p = head;</b></p><p> p->data = 1;</p><p&g
65、t; p->next = p; </p><p> for (i = 2; i <= n; i++) {</p><p> s = (linklist*) malloc(sizeof(linklist));</p><p> s->data = i;</p><p> s->n
66、ext = p->next;</p><p> p->next = s;</p><p> p = p->next;</p><p> } /* 初始化循環(huán)鏈表*/</p><p><b> p = head;</b></p><p> for (i = 1; i
67、 < k; i++){</p><p> p = p->next;</p><p> } /* 找到第k 個(gè)節(jié)點(diǎn)*/ </p><p> total = n; /* 保存節(jié)點(diǎn)總數(shù)*/</p><p> printf("\n出局序列為:");</p><p><b&
68、gt; q = head;</b></p><p> while (total != 1) /* 只剩一個(gè)節(jié)點(diǎn)時(shí)停止循環(huán)*/</p><p><b> {</b></p><p> for (i = 1; i < m; i++){</p><p> p = p->next;<
69、/p><p> } /* 報(bào)數(shù)過程,p指向要?jiǎng)h除的節(jié)點(diǎn)*/</p><p> printf("[%d] ", p->data);/* 打印要?jiǎng)h除的節(jié)點(diǎn)序號(hào)*/</p><p> while (q->next != p){</p><p> q = q->next;</p><p
70、> }/* q 指向p 節(jié)點(diǎn)的前驅(qū)*/</p><p> q->next = p->next; /* 刪除p 節(jié)點(diǎn)*/</p><p> s = p;/* 保存被刪除節(jié)點(diǎn)指針*/</p><p> p = p->next;/* p 指向被刪除節(jié)點(diǎn)的后繼*/</p><p> free(s);/* 釋放被刪除的
71、節(jié)點(diǎn)*/</p><p> total--; /* 節(jié)點(diǎn)個(gè)數(shù)減一*/</p><p><b> }</b></p><p> printf("\n\n猴子大王為第[%d] 號(hào)\n\n", p->data);/* 打印最后剩下的節(jié)點(diǎn)序號(hào)*/</p><p><b> free(p
72、);</b></p><p> //system("pause");</p><p><b> return 0;</b></p><p><b> }</b></p><p> int _tmain(int argc, _TCHAR* argv[])<
73、/p><p><b> {</b></p><p><b> int a;</b></p><p> welcome();</p><p> printf("please choose the function :");</p><p> scanf
74、("%d",&a);</p><p> while(a!=3){</p><p> switch(a){</p><p> case 1:system("cls"); mokeyking(); getch();break;</p><p> case 2:system("cl
75、s"); Binary (); getch();break;</p><p> default: printf("please chooose the right choice!");break;</p><p><b> }</b></p><p> system("cls");<
76、;/p><p> welcome();</p><p> printf("please choose the function :\n"); </p><p> scanf("%d",&a);</p><p><b> }</b></p><p>
77、;<b> return 0;</b></p><p><b> }</b></p><p> 八、程序運(yùn)行成功展示</p><p><b> 1、主鍵面</b></p><p><b> 2、輸入1</b></p><p&g
78、t; 3、輸入23只猴子,從第1只開始報(bào)數(shù),每數(shù)到5就出局</p><p> 4、按任意鍵后返回主鍵面輸入2</p><p><b> 5、按任意鍵</b></p><p> 6、按任意鍵后返回主鍵面輸入3</p><p><b> 7、退出程序</b></p><p&
79、gt;<b> 九、心得體會(huì)</b></p><p><b> 1、猴子選王問題</b></p><p> 設(shè)計(jì)是培養(yǎng)并提高我們中和運(yùn)用所學(xué)知識(shí)的能力,鍛煉我們實(shí)際解決問題的能力,是對(duì)我們學(xué)生實(shí)際工作能力的考驗(yàn)和提高。</p><p> 從拿到題目到完成整個(gè)編程,從理論到實(shí)踐,在這一個(gè)多星期的時(shí)間里,學(xué)到了很多在課
80、堂上不能了解的東西,而且鞏固了以前所學(xué)過的知識(shí),能夠做到將理論和實(shí)踐相結(jié)合,提高了自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力,在設(shè)計(jì)過程中發(fā)現(xiàn)自己的不足之處,并且得到了一定的改善,總的來說通過這次課程設(shè)計(jì),對(duì)程序不斷改善的同時(shí),也是對(duì)自身的不斷改善,非常感謝學(xué)校提供的這次課程設(shè)計(jì)的機(jī)會(huì)</p><p><b> 2、二叉樹的建立</b></p><p> 從本次課程設(shè)計(jì)中
81、我們了解的二叉樹遍歷的重要性,以及先序遍歷、中序遍歷、后序遍歷的相關(guān)算法.明白了二叉樹是一種重要的數(shù)據(jù)結(jié)構(gòu),很好的編程思想,在學(xué)習(xí)中有很多作用. 通過這次課程設(shè)計(jì),理論知識(shí)和實(shí)踐相互結(jié)合才能實(shí)現(xiàn)程序,通過查閱資料豐富了以前所遺漏的知識(shí),同時(shí)又更加充實(shí)了以前所遺漏的知識(shí),了解了算法在編程中的重要性,一個(gè)好的算法能極大地優(yōu)化一個(gè)程序</p><p> 通過這次的課程設(shè)計(jì),我們學(xué)到了怎么樣從一個(gè)實(shí)際問題出發(fā),建立模型
82、,找到相應(yīng)的儲(chǔ)存結(jié)構(gòu)和實(shí)現(xiàn)方法,實(shí)際運(yùn)行,反復(fù)調(diào)試和修改,最終實(shí)現(xiàn)功能。在程序設(shè)計(jì)方法以及上機(jī)操作等基本技能和科學(xué)作風(fēng)方面受到比較系統(tǒng)和嚴(yán)格的訓(xùn)練,學(xué)會(huì)數(shù)據(jù)組織的方法,把現(xiàn)實(shí)世界中的實(shí)際問題在計(jì)算機(jī)內(nèi)部表示出來并用軟件解決問題,培養(yǎng)了良好的程序設(shè)計(jì)技能。</p><p><b> 十、參考資料:</b></p><p> [1] 朱蓉.數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)指導(dǎo)書</
83、p><p> [2]蔡子經(jīng),施伯樂.數(shù)據(jù)結(jié)構(gòu)教程.上海:復(fù)旦大學(xué)出版社.1994</p><p> [3]嚴(yán)蔚敏,吳偉民.數(shù)據(jù)結(jié)構(gòu)(C語言版).北京:清華大學(xué)出版社.1997;</p><p> [4]嚴(yán)蔚敏,吳偉民.數(shù)據(jù)結(jié)構(gòu)題集(C語言版).北京:清華大學(xué)出版社.1997;</p><p> [5]孟佳娜,胡瀟琨.算法與數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)與習(xí)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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ì)報(bào)告---文章編輯、猴子選大王、建立二叉樹、拓?fù)渑判颉⒏鞣N排序
- 二叉樹課程設(shè)計(jì)
- 遍歷二叉樹課程設(shè)計(jì)
- 課程設(shè)計(jì) 排序二叉樹
- ds課程設(shè)計(jì)報(bào)告--平衡二叉樹
- 平衡二叉樹匹配課程設(shè)計(jì)
- 平衡二叉樹匹配課程設(shè)計(jì)
- 課程設(shè)計(jì)---判斷完全二叉樹
- 二叉樹基本操作課程設(shè)計(jì)
- 課程設(shè)計(jì)---二叉樹的查找
- 二叉樹的基本操作課程設(shè)計(jì)
- 課程設(shè)計(jì)---完全二叉樹的判斷
- 二叉樹數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)
- 主函數(shù)和層次建立二叉樹 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)
- 二叉樹論文 二叉樹的應(yīng)用
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告---線索二叉樹
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---二叉樹的建立和遍歷的演示
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告--二叉樹的算法
- 《數(shù)據(jù)結(jié)構(gòu)遍歷二叉樹》課程設(shè)計(jì)
- 《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計(jì)--二叉排序樹調(diào)整為平衡二叉樹
評(píng)論
0/150
提交評(píng)論