




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
本文格式為Word版,下載可任意編輯——2023年數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)c語言版嚴(yán)蔚敏(4篇)在日常學(xué)習(xí)、工作或生活中,大家總少不了接觸作文或者范文吧,通過文章可以把我們那些零零散散的思想,聚集在一塊。范文書寫有哪些要求呢?我們?cè)鯓硬拍軐懞靡黄段哪??這里我整理了一些優(yōu)秀的范文,希望對(duì)大家有所幫助,下面我們就來了解一下吧。
key)f-lchild=p;數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)c語言版嚴(yán)蔚敏篇四
試驗(yàn):線性表的基本操作
學(xué)習(xí)把握線性表的順序存儲(chǔ)結(jié)構(gòu)、鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的設(shè)計(jì)與操作。對(duì)順序表建立、插入、刪除的基本操作,對(duì)單鏈表建立、插入、刪除的基本操作算法。
1.順序表的實(shí)踐
1)建立4個(gè)元素的順序表s=sqlist[]={1,2,3,4,5},實(shí)現(xiàn)順序表建立的基本操作。
2)在sqlist[]={1,2,3,4,5}的元素4和5之間插入一個(gè)元素9,實(shí)現(xiàn)順序表插入的基本操作。
3)在sqlist[]={1,2,3,4,9,5}中刪除指定位置(i=5)上的元素9,實(shí)現(xiàn)順序表的刪除的基本操作。2.單鏈表的實(shí)踐
3.1)建立一個(gè)包括頭結(jié)點(diǎn)和4個(gè)結(jié)點(diǎn)的(5,4,2,1)的單鏈表,實(shí)現(xiàn)單鏈表建立的基本操作。
2)將該單鏈表的所有元素顯示出來。
3)在已建好的單鏈表中的指定位置(i=3)插入一個(gè)結(jié)點(diǎn)3,實(shí)現(xiàn)單鏈表插入的基本操作。
4)在一個(gè)包括頭結(jié)點(diǎn)和5個(gè)結(jié)點(diǎn)的(5,4,3,2,1)的單鏈表的指定位置(如i=2)刪除一個(gè)結(jié)點(diǎn),實(shí)現(xiàn)單鏈表刪除的基本操作。5)實(shí)現(xiàn)單鏈表的求表長操作。
1.開啟vc++。
2.建立工程:點(diǎn)file-new,選project標(biāo)簽,在列表中選win32consoleapplication,再在右邊的框里為工程起好名字,選好路徑,點(diǎn)ok-finish。至此工程建立完畢。
3.創(chuàng)立源文件或頭文件:點(diǎn)file-new,選file標(biāo)簽,在列表里選c++sourcefile。給文件起好名字,選好路徑,點(diǎn)ok。至此一個(gè)源文件就被添加到了你剛創(chuàng)立的工程之中。
4.寫好代碼
5.編譯->鏈接->調(diào)試
線性是我們學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)中,碰見的第一個(gè)數(shù)據(jù)結(jié)構(gòu)。學(xué)習(xí)線性表的重點(diǎn)把握順序表和單鏈表的各種算法和時(shí)間性能分析。線性表右兩種存儲(chǔ)方式即順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。通過學(xué)習(xí)我知道了對(duì)線性表進(jìn)行建立、插入、刪除,同時(shí)單鏈表也是進(jìn)行建立、插入、刪除。而對(duì)于順序表的插入刪除運(yùn)算,其平均時(shí)間繁雜度均為0(n).通過這次的學(xué)習(xí),把握的太熟練,主要是課本上的知識(shí)點(diǎn)沒有完全的理解,回去我會(huì)多看書,理解重要的概念??傊?,這次試驗(yàn)我找到了自己的不足之處,以后會(huì)努力的。
試驗(yàn)二:棧的表示與實(shí)現(xiàn)及棧的應(yīng)用
(1)把握棧的順序存儲(chǔ)結(jié)構(gòu)及其基本操作的實(shí)現(xiàn)。(2)把握棧后進(jìn)先出的特點(diǎn),并利用其特性在解決實(shí)際問題中的應(yīng)用。(3)把握用遞歸算法來解決一些問題。
1.編寫程序,對(duì)于輸入的任意一個(gè)非負(fù)十進(jìn)制整數(shù),輸出與其等值的八進(jìn)制數(shù)。
2.編寫遞歸程序,實(shí)現(xiàn)n!的求解。3.編寫遞歸程序,實(shí)現(xiàn)以下函數(shù)的求解。
n,n0,1fib(n)fib(n1)fib(n2),n1
4.編寫程序,實(shí)現(xiàn)hanoi塔問題。1.開啟vc++。
2.建立工程:點(diǎn)file-new,選project標(biāo)簽,在列表中選win32consoleapplication,再在右邊的框里為工程起好名字,選好路徑,點(diǎn)ok-finish。至此工程建立完畢。
3.創(chuàng)立源文件或頭文件:點(diǎn)file-new,選file標(biāo)簽,在列表里選c++sourcefile。給文件起好名字,選好路徑,點(diǎn)ok。至此一個(gè)源文件就被添加到了你剛創(chuàng)立的工程之中。
4.寫好代碼
5.編譯->鏈接->調(diào)試
通過這次的學(xué)習(xí)我把握了棧這種抽象數(shù)據(jù)類型的特點(diǎn),并能在相應(yīng)的應(yīng)用任務(wù)中正確選用它;總的來說,棧是操作受限的線性表,是限定僅在表尾進(jìn)行插入或刪除操作的線性表。因此,對(duì)棧來說,表尾端有其特別含義,稱為棧頂(top),相應(yīng)地,表頭端稱為棧底(botton);棧又稱為后進(jìn)先出(lastinfirstout)的線性表,簡稱lifo結(jié)構(gòu),由于它的修改是按后進(jìn)先出的原則進(jìn)行的。
加上這個(gè)試驗(yàn),我已經(jīng)學(xué)了線性表(順序表,單鏈表)和棧,知道它們都是線性表,而且對(duì)以后的學(xué)習(xí)有很大的作用,可以說這是學(xué)習(xí)以后知識(shí)的總要基礎(chǔ)。
試驗(yàn)三:二叉樹的建立及遍歷
(1)把握利用先序序列建立二叉樹的二叉鏈表的過程。(2)把握二叉樹的先序、中序和后序遍歷算法。
1.編寫程序,實(shí)現(xiàn)二叉樹的建立,并實(shí)現(xiàn)先序、中序和后序遍歷。如:輸入先序序列abc###de###,則建立如下圖所示的二叉樹。
并顯示其先序序列為:abcde中序序列為:cbaed后序序列為:cbeda1.開啟vc++。
2.建立工程:點(diǎn)file-new,選project標(biāo)簽,在列表中選win32consoleapplication,再在右邊的框里為工程起好名字,選好路徑,點(diǎn)ok-finish。至此工程建立完畢。
3.創(chuàng)立源文件或頭文件:點(diǎn)file-new,選file標(biāo)簽,在列表里選c++sourcefile。給文件起好名字,選好路徑,點(diǎn)ok。至此一個(gè)源文件就被添加到了你剛創(chuàng)立的工程之中。
4.寫好代碼
5.編譯->鏈接->調(diào)試
這次試驗(yàn)是關(guān)于二叉樹的常見操作,主要是二叉樹的建立和遍歷,在這次試驗(yàn)中我按先序方式建立二叉樹的,而遍歷方式則相對(duì)要多一些,有遞歸的先序、中序、后序遍歷,和非遞歸的先序、中序、后序遍歷,此外還有層次遍歷.二叉樹高度和葉子個(gè)數(shù)的計(jì)算和遍歷相差不大,只是加些判斷條件,總體來說,本次試驗(yàn)不太好做,期間出現(xiàn)了好多規(guī)律錯(cuò)誤,變量初始化的問題等,不過經(jīng)過細(xì)心排查最終都一一解決了。
試驗(yàn)四:查找與排序
(1)把握折半查找算法的實(shí)現(xiàn)。(2)把握冒泡排序算法的實(shí)現(xiàn)。
1.編寫折半查找程序,對(duì)以下數(shù)據(jù)查找37所在的位置。5,13,19,21,37,56,64,75,80,88,922.編寫冒泡排序程序,對(duì)以下數(shù)據(jù)進(jìn)行排序。49,38,65,97,76,13,27,491.開啟vc++。
2.建立工程:點(diǎn)file-new,選project標(biāo)簽,在列表中選win32consoleapplication,再在右邊的框里為工程起好名字,選好路徑,點(diǎn)ok-finish。至此工程建立完畢。
3.創(chuàng)立源文件或頭文件:點(diǎn)file-new,選file標(biāo)簽,在列表里選c++sourcefile。給文件起好名字,選好路徑,點(diǎn)ok。至此一個(gè)源文件就被添加到了你剛創(chuàng)立的工程之中。
4.寫好代碼
5.編譯->鏈接->調(diào)試
(1)查找算法的代碼如下所示:#include“stdio.h〞#include“malloc.h〞#defineoverflow-1#defineok1#definemaxnum100#definen10typedefintelemtype;typedefintstatus;typedefstruct{
elemtype*elem;
intlength;}sstable;statusinitlist(sstablest){inti,n;
=
(elemtype*)
malloc(elemtype));
if(!)return(overflow);
printf(“輸入元素個(gè)數(shù)和各元素的值:〞);
scanf(“%dn〞,n);
for(i=1;i=n;i++){
(maxnum*sizeof
scanf(“%d〞,[i]);}
=n;
returnok;}intseq_search(sstablest,elemtypekey){
inti;
[0]=key;
for(i=;[i]!=key;--i);
returni;}intbinarysearch(sstablest,elemtypekey){
intmid,low,high,i=1;
low=1;
high=;
while(low=high)
{
mid=(low+high)/2;
if([mid]==key)
returnmid;
elseif(keyhigh=mid-1;
else
}
return0;}voidmain(){sstablest;initlist(st);
elemtypekey;intn;printf(“key=〞);
scanf(“%d〞,key);
printf(“nn〞);
/*printf(“afterseqsearch::〞);
n=seq_search(st,key);
printf(“positionisin%dnn〞,n);*/
printf(“afterbinarysearch::〞);
n=binarysearch(st,key);
low=mid+1;if(n)printf(“positionisin%dnn〞,n);else
}試驗(yàn)結(jié)果如下所示:
(2)排序算法的代碼如下所示:#include“stdio.h〞#include“malloc.h〞#defineoverflow-1#defineok1#definemaxnum100#definen10typedefintelemtype;typedefintstatus;typedefstruct{
elemtype*elem;
intlength;}sstable;statusinitlist(sstablest)printf(“notinnn〞);{inti,n;
(elemtype));
if(!)return(overflow);
printf(“輸入元素個(gè)數(shù)和各元素的值:〞);
scanf(“%dn〞,n);
for(i=1;i=n;i++){
scanf(“%d〞,[i]);}
=n;
returnok;}voidsort(sstablest){
inti,j,t;
for(i=1;ifor(j=i+1;j=;j++)
if([i][j]){t=[i];=
(elemtype*)
malloc
(maxnum*sizeof
}
}[i]=[j];[j]=t;voiddisplay(sstablest){inti;
for(i=1;i=;i++){
printf(“%d
〞,[i]);}
}voidmain(){
sstablest;initlist(st);intn;printf(“beforesort::n〞);display(st);sort(st);printf(“naftersort::n〞);display(st);}試驗(yàn)結(jié)果如下所示:
通過這次試驗(yàn),我明白了程序里的折半查找和冒泡查找.其實(shí)排序可以有好多種,但是其目的應(yīng)當(dāng)都是為了能夠在海量的數(shù)據(jù)里迅速查找到你要的數(shù)據(jù)信息,折半查找是種比較快的方式,
溫馨提示
- 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. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年海洋服務(wù)合作協(xié)議書
- 新型保安服務(wù)模式的探索與創(chuàng)新計(jì)劃
- 班級(jí)經(jīng)驗(yàn)分享會(huì)的開展計(jì)劃
- 培養(yǎng)學(xué)生判斷力與批判性思維計(jì)劃
- 增強(qiáng)圖書館開放日活動(dòng)效果計(jì)劃
- 如何應(yīng)對(duì)財(cái)務(wù)恐懼癥計(jì)劃
- 經(jīng)理績效目標(biāo)規(guī)劃計(jì)劃
- 美術(shù)欣賞與文化傳播課程大綱計(jì)劃
- 幼兒心理健康關(guān)懷計(jì)劃
- 2025年藝術(shù)表演場館服務(wù)項(xiàng)目建議書
- 特種設(shè)備及重要設(shè)備安全管理制度
- DB3502T052-2019 家政服務(wù)規(guī)范 家庭搬家
- 《自主神經(jīng)系統(tǒng)》課件
- 2025集團(tuán)公司內(nèi)部借款合同范本
- 遼寧省名校聯(lián)盟2025屆高三上學(xué)期1月份聯(lián)合考試語文試題(含答案)
- 2025年山西地質(zhì)集團(tuán)社會(huì)招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2024-2025學(xué)年遼寧省沈陽市沈河區(qū)七年級(jí)(上)期末英語試卷(含答案)
- 前牙即刻種植的臨床應(yīng)用
- 2024-2025學(xué)年初中七年級(jí)上學(xué)期數(shù)學(xué)期末綜合卷(人教版)含答案
- 體育活動(dòng)策劃與組織課件
- 公司違規(guī)違紀(jì)連帶處罰制度模版(2篇)
評(píng)論
0/150
提交評(píng)論