版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
本文格式為Word版,下載可任意編輯——2023年數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)c語(yǔ)言版嚴(yán)蔚敏(4篇)在日常學(xué)習(xí)、工作或生活中,大家總少不了接觸作文或者范文吧,通過(guò)文章可以把我們那些零零散散的思想,聚集在一塊。范文書(shū)寫(xiě)有哪些要求呢?我們?cè)鯓硬拍軐?xiě)好一篇范文呢?這里我整理了一些優(yōu)秀的范文,希望對(duì)大家有所幫助,下面我們就來(lái)了解一下吧。
key)f-lchild=p;數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)c語(yǔ)言版嚴(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)將該單鏈表的所有元素顯示出來(lái)。
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)單鏈表的求表長(zhǎng)操作。
1.開(kāi)啟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.寫(xiě)好代碼
5.編譯->鏈接->調(diào)試
線性是我們學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)中,碰見(jiàn)的第一個(gè)數(shù)據(jù)結(jié)構(gòu)。學(xué)習(xí)線性表的重點(diǎn)把握順序表和單鏈表的各種算法和時(shí)間性能分析。線性表右兩種存儲(chǔ)方式即順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。通過(guò)學(xué)習(xí)我知道了對(duì)線性表進(jìn)行建立、插入、刪除,同時(shí)單鏈表也是進(jìn)行建立、插入、刪除。而對(duì)于順序表的插入刪除運(yùn)算,其平均時(shí)間繁雜度均為0(n).通過(guò)這次的學(xué)習(xí),把握的太熟練,主要是課本上的知識(shí)點(diǎn)沒(méi)有完全的理解,回去我會(huì)多看書(shū),理解重要的概念??傊@次試驗(yàn)我找到了自己的不足之處,以后會(huì)努力的。
試驗(yàn)二:棧的表示與實(shí)現(xiàn)及棧的應(yīng)用
(1)把握棧的順序存儲(chǔ)結(jié)構(gòu)及其基本操作的實(shí)現(xiàn)。(2)把握棧后進(jìn)先出的特點(diǎn),并利用其特性在解決實(shí)際問(wèn)題中的應(yīng)用。(3)把握用遞歸算法來(lái)解決一些問(wèn)題。
1.編寫(xiě)程序,對(duì)于輸入的任意一個(gè)非負(fù)十進(jìn)制整數(shù),輸出與其等值的八進(jìn)制數(shù)。
2.編寫(xiě)遞歸程序,實(shí)現(xiàn)n!的求解。3.編寫(xiě)遞歸程序,實(shí)現(xiàn)以下函數(shù)的求解。
n,n0,1fib(n)fib(n1)fib(n2),n1
4.編寫(xiě)程序,實(shí)現(xiàn)hanoi塔問(wèn)題。1.開(kāi)啟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.寫(xiě)好代碼
5.編譯->鏈接->調(diào)試
通過(guò)這次的學(xué)習(xí)我把握了棧這種抽象數(shù)據(jù)類型的特點(diǎn),并能在相應(yīng)的應(yīng)用任務(wù)中正確選用它;總的來(lái)說(shuō),棧是操作受限的線性表,是限定僅在表尾進(jìn)行插入或刪除操作的線性表。因此,對(duì)棧來(lái)說(shuō),表尾端有其特別含義,稱為棧頂(top),相應(yīng)地,表頭端稱為棧底(botton);棧又稱為后進(jìn)先出(lastinfirstout)的線性表,簡(jiǎn)稱lifo結(jié)構(gòu),由于它的修改是按后進(jìn)先出的原則進(jìn)行的。
加上這個(gè)試驗(yàn),我已經(jīng)學(xué)了線性表(順序表,單鏈表)和棧,知道它們都是線性表,而且對(duì)以后的學(xué)習(xí)有很大的作用,可以說(shuō)這是學(xué)習(xí)以后知識(shí)的總要基礎(chǔ)。
試驗(yàn)三:二叉樹(shù)的建立及遍歷
(1)把握利用先序序列建立二叉樹(shù)的二叉鏈表的過(guò)程。(2)把握二叉樹(shù)的先序、中序和后序遍歷算法。
1.編寫(xiě)程序,實(shí)現(xiàn)二叉樹(shù)的建立,并實(shí)現(xiàn)先序、中序和后序遍歷。如:輸入先序序列abc###de###,則建立如下圖所示的二叉樹(shù)。
并顯示其先序序列為:abcde中序序列為:cbaed后序序列為:cbeda1.開(kāi)啟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.寫(xiě)好代碼
5.編譯->鏈接->調(diào)試
這次試驗(yàn)是關(guān)于二叉樹(shù)的常見(jiàn)操作,主要是二叉樹(shù)的建立和遍歷,在這次試驗(yàn)中我按先序方式建立二叉樹(shù)的,而遍歷方式則相對(duì)要多一些,有遞歸的先序、中序、后序遍歷,和非遞歸的先序、中序、后序遍歷,此外還有層次遍歷.二叉樹(shù)高度和葉子個(gè)數(shù)的計(jì)算和遍歷相差不大,只是加些判斷條件,總體來(lái)說(shuō),本次試驗(yàn)不太好做,期間出現(xiàn)了好多規(guī)律錯(cuò)誤,變量初始化的問(wèn)題等,不過(guò)經(jīng)過(guò)細(xì)心排查最終都一一解決了。
試驗(yàn)四:查找與排序
(1)把握折半查找算法的實(shí)現(xiàn)。(2)把握冒泡排序算法的實(shí)現(xiàn)。
1.編寫(xiě)折半查找程序,對(duì)以下數(shù)據(jù)查找37所在的位置。5,13,19,21,37,56,64,75,80,88,922.編寫(xiě)冒泡排序程序,對(duì)以下數(shù)據(jù)進(jìn)行排序。49,38,65,97,76,13,27,491.開(kāi)啟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.寫(xiě)好代碼
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é)果如下所示:
通過(guò)這次試驗(yàn),我明白了程序里的折半查找和冒泡查找.其實(shí)排序可以有好多種,但是其目的應(yīng)當(dāng)都是為了能夠在海量的數(shù)據(jù)里迅速查找到你要的數(shù)據(jù)信息,折半查找是種比較快的方式,
溫馨提示
- 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ù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年新修訂:個(gè)人借款協(xié)議標(biāo)準(zhǔn)版
- 2024年教育機(jī)構(gòu)全職教師聘用協(xié)議
- 2024年房屋拆遷補(bǔ)償安置房買賣協(xié)議
- 2024年攜手發(fā)展:房地產(chǎn)掛靠公司聯(lián)盟協(xié)議
- 我的發(fā)作文500字7篇
- 草船借箭讀后感400字7篇
- 酒店圣誕晚會(huì)策劃方案兩篇
- 老舊小區(qū)乳膠漆施工改造方案
- 區(qū)塊鏈技術(shù)項(xiàng)目股權(quán)協(xié)議書(shū)
- 2024至2030年中國(guó)聚寶桶數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 倉(cāng)儲(chǔ)物流中心物業(yè)安全管理
- 醫(yī)療器械注冊(cè)專員培訓(xùn)
- 期末復(fù)習(xí)重要考點(diǎn)03 《一元一次方程》十大考點(diǎn)題型(熱點(diǎn)題型+限時(shí)測(cè)評(píng))(原卷版)
- 生物丨金太陽(yáng)(25-69C)廣東省2025屆高三10月大聯(lián)考生物試卷及答案
- 車隊(duì)車輛掛靠合同模板
- 期中 (試題) -2024-2025學(xué)年人教PEP版英語(yǔ)四年級(jí)上冊(cè)
- 動(dòng)物疫病防治員(高級(jí))理論考試題及答案
- 跨境電商行業(yè)研究框架專題報(bào)告
- 提升初中生英語(yǔ)寫(xiě)作
- 2024年深圳市優(yōu)才人力資源有限公司招考聘用綜合網(wǎng)格員(派遣至吉華街道)高頻500題難、易錯(cuò)點(diǎn)模擬試題附帶答案詳解
- 高中政治必修四哲學(xué)與文化知識(shí)點(diǎn)總結(jié)
評(píng)論
0/150
提交評(píng)論