數(shù)據(jù)結(jié)構(gòu)實(shí)踐_第1頁(yè)
數(shù)據(jù)結(jié)構(gòu)實(shí)踐_第2頁(yè)
數(shù)據(jù)結(jié)構(gòu)實(shí)踐_第3頁(yè)
數(shù)據(jù)結(jié)構(gòu)實(shí)踐_第4頁(yè)
數(shù)據(jù)結(jié)構(gòu)實(shí)踐_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

目錄

第一章課程設(shè)計(jì)性質(zhì)與目的4

第二章設(shè)計(jì)內(nèi)容及基本要求.............................5

第三章詳細(xì)設(shè)計(jì)說(shuō)明............................................11

項(xiàng)目一..................................................................7

項(xiàng)目二....................................................................16

項(xiàng)目三....................................................................26

第四章實(shí)訓(xùn)總結(jié)............................................................37

附錄(參考文獻(xiàn)、核心代碼)

第一章課程設(shè)計(jì)性質(zhì)與目的

《數(shù)據(jù)結(jié)構(gòu)》實(shí)訓(xùn)是信息管理與信息系統(tǒng)專業(yè)集中實(shí)踐性環(huán)節(jié)之一,其目的

就是要達(dá)到理論與實(shí)際應(yīng)用相結(jié)合,使學(xué)生能夠根據(jù)數(shù)據(jù)對(duì)象的特性,學(xué)會(huì)數(shù)據(jù)

組織的方法,能把現(xiàn)實(shí)世界中的實(shí)際問(wèn)題在計(jì)算機(jī)內(nèi)部表示出來(lái),并培養(yǎng)良好的

程序設(shè)計(jì)技能。

鏈表和順序表操作的設(shè)計(jì)目的:1.掌握線性表的在順序結(jié)構(gòu)和鏈?zhǔn)浇Y(jié)構(gòu)實(shí)

現(xiàn)。2.掌握線性表在順序結(jié)構(gòu)和鏈?zhǔn)浇Y(jié)構(gòu)上的基本操作。

二叉樹操作的設(shè)計(jì)目的:1.掌握二叉樹的概念和性。2.掌握任意二叉樹

存儲(chǔ)結(jié)構(gòu)。3.掌握任意二叉樹的基本操作。

第二章設(shè)計(jì)內(nèi)容及基本要求

一、實(shí)驗(yàn)實(shí)訓(xùn)的基本要求是:

本實(shí)訓(xùn)面向應(yīng)用,以解決實(shí)際問(wèn)題為主。題目以選用學(xué)生相對(duì)照較熟悉的為

宜,要求通過(guò)本實(shí)訓(xùn),理解有關(guān)數(shù)據(jù)結(jié)構(gòu)的基本概念、不同數(shù)據(jù)類型的存儲(chǔ)和基

本操作的算法實(shí)現(xiàn),理解數(shù)據(jù)類型的邏輯結(jié)構(gòu)及物理存儲(chǔ)結(jié)構(gòu),通過(guò)自己設(shè)計(jì),

編程、調(diào)試、測(cè)試、能夠基本掌握在不同存儲(chǔ)結(jié)構(gòu)下的算法實(shí)現(xiàn)及算法優(yōu)化,樹

立并培養(yǎng)系統(tǒng)規(guī)范開辟的理念。實(shí)訓(xùn)中學(xué)生要將相關(guān)課程中學(xué)到的知識(shí)、思想和

理念盡量應(yīng)用在實(shí)訓(xùn)中。結(jié)束后要按規(guī)定提交待碼和各種文檔。

實(shí)訓(xùn)基本步驟:

1.選題

設(shè)計(jì)的課題盡量結(jié)合教學(xué)、科研的實(shí)際課題,規(guī)模、大小適當(dāng),具有一定復(fù)

雜度。應(yīng)根據(jù)題目大小、難度確定是否分組,組內(nèi)成員人數(shù)。

2.數(shù)據(jù)結(jié)構(gòu)及算法設(shè)計(jì)

根據(jù)需求分析,選擇合理的數(shù)據(jù)結(jié)構(gòu)及設(shè)計(jì)相應(yīng)的算法。

3.編碼

根據(jù)已設(shè)計(jì)的數(shù)據(jù)結(jié)構(gòu)和算法,編寫代碼。

4.測(cè)試

按照系統(tǒng)測(cè)試的原則'方法和步驟,對(duì)系統(tǒng)進(jìn)行測(cè)試。測(cè)試中應(yīng)形成測(cè)試報(bào)

告。

5.編寫實(shí)訓(xùn)報(bào)告

實(shí)訓(xùn)說(shuō)明書,內(nèi)容及要求如下:

(1)封面

(2)成績(jī)?cè)u(píng)定

(3)目錄

(4)說(shuō)明書正文,主要內(nèi)容包括:

一、設(shè)計(jì)題目

二、運(yùn)行環(huán)境(軟、硬件環(huán)境)

三、數(shù)據(jù)結(jié)構(gòu)及算法設(shè)計(jì)的思想

四、數(shù)據(jù)結(jié)構(gòu)及算法設(shè)計(jì)

五、源代碼

六、運(yùn)行結(jié)果分析

七、實(shí)習(xí)總結(jié)(收獲及體味)

參考資料:附錄(核心代碼)。

二、設(shè)計(jì)內(nèi)容項(xiàng)目一:順序表操作

1'設(shè)計(jì)目的

(1)掌握線性表的在順序結(jié)構(gòu)上的實(shí)現(xiàn)。

(2)掌握線性表在順序結(jié)構(gòu)上的基本操作

2、設(shè)計(jì)內(nèi)容和要求

利用順序表的插入運(yùn)算建立順序表,然后實(shí)現(xiàn)順序表的查找、插入'刪除、

計(jì)數(shù)、輸出'排序、逆置等運(yùn)算(查找、插入、刪除、查找、計(jì)數(shù)'輸出、排序、

逆置要單獨(dú)寫成函數(shù)),并能在屏幕上輸出操作先后的結(jié)果。

項(xiàng)目二:鏈表操作

1、設(shè)計(jì)目的

(1)掌握線性表的在鏈?zhǔn)浇Y(jié)構(gòu)上的實(shí)現(xiàn)。

(2)掌握線性表在鏈?zhǔn)浇Y(jié)構(gòu)上的基本操作

2、設(shè)計(jì)內(nèi)容和要求

利用鏈表的插入運(yùn)算建立鏈表,然后實(shí)現(xiàn)鏈表的查找、插入、刪除、計(jì)數(shù)、

輸出、排序'逆置等運(yùn)算(查找、插入、刪除、查找、計(jì)數(shù)、輸出'排序、逆置

要單獨(dú)寫成函數(shù)),并能在屏幕上輸出操作先后的結(jié)果。

項(xiàng)目三:二叉樹的基本操作

1、設(shè)計(jì)目的

(1)掌握二叉樹的概念和性質(zhì)

(2)掌握任意二叉樹存儲(chǔ)結(jié)構(gòu)。

(3)掌握任意二叉樹的基本操作。

2、設(shè)計(jì)內(nèi)容和要求

(1)對(duì)任意給定的二叉樹(頂點(diǎn)數(shù)自定)建立它的二叉鏈表存儲(chǔ)結(jié)構(gòu),并

利用棧的五種基本運(yùn)算(置空棧、進(jìn)棧、出棧、取棧頂元素、判???實(shí)現(xiàn)二叉

樹的先序、中序'后序三種遍歷,輸出三種遍歷的結(jié)果。

(2)求二叉樹高度、結(jié)點(diǎn)數(shù)、度為1的結(jié)點(diǎn)數(shù)和葉子結(jié)點(diǎn)數(shù)。

第三章詳細(xì)設(shè)計(jì)說(shuō)明

項(xiàng)目一:

順序表操作:

考查知識(shí)點(diǎn):(1)利用順序表的插入運(yùn)算建立順序表;

(2)實(shí)現(xiàn)順序表的查找、插入、刪除、計(jì)數(shù)'輸出、排序、逆置等

運(yùn)算(查找、插入、刪除、查找、計(jì)數(shù)'輸出、排序、逆置要單獨(dú)

寫成函數(shù));

(3)能夠在屏幕上輸出操作先后的結(jié)果。

一、算法

1.創(chuàng)建:#defineLIST_INIT_SIZE100

#defineLISTINCREMENT20

typedfstruct{

emType*elem;

Iength;

intIistsize;

}SqList;

Status(SqList&L){

=(EIemType*)maIIoc(LIST_INIT_SIZE*sizeof(EIemType));

if(!exit(OVERFLOW);

二0;

=LIST_INIT_SIZE;

returnOk;

}入:StatusListInsert_Sq(SqList&L,inti,EIemTypee){除:Status

ListDeIete_Sq(SqList&L,nti,EIemType&e){

if((i<1||(i?returnERROR;

P=&[iT]);

e=*p;

q=+;找:IntLocateEIem_Sq(SqListL,ElemTypee,構(gòu)造

插入

刪除

排序

計(jì)數(shù)

查找

逆置

輸出

退出

for(;;)

switch(i)

case1:InitList_Sq(L);break;

case2:ListInsert_Sq(L);break;

case3:ListDeIete_Sq(L);break;

case4:Print_Sq(L);break;

case5:ListLength_Sq(L);break;

case6:LocateEIem_Sq(L);break;

case7:inverse_Sq(L);break;

case8:output_Sq(L);break;

case9:Quit_Sq(L);break;

輸入有誤

)

)

)

三、操作結(jié)果

BJX:\Wndows\system3Z,Debug\qwe^xe'IG)m

eo2

項(xiàng)目二:

鏈表操作

考查知識(shí)點(diǎn):(1)利用鏈表的插入運(yùn)算建立鏈表;

(2)實(shí)現(xiàn)鏈表的查找、插入'刪除'計(jì)數(shù)、輸出、排序、逆置等運(yùn)

算(查找、插入、刪除'查找、計(jì)數(shù)、輸出'排序、逆置要單獨(dú)寫

成函數(shù));

(3)能夠在屏幕上輸出操作先后的結(jié)果。

一、舁法

1.創(chuàng)建:

voidCreateListL(LinkList&L){創(chuàng)建

計(jì)

數(shù)

for(;;)

請(qǐng)?jiān)?-8功能中選擇一個(gè)

0

*彈

2入

3除

4翁

:序

J

;I

?M

W8。S

.

*Cr\Windowc\cyct^m32\Debug\g9

牌修囂卷的值為“

3

2

S3錯(cuò)

2?61-4I港2

需1-

高3

要9

看23G4

個(gè)

工?3

?4

刪n-

島3

用964

個(gè)

選4

J4

&

占5

^,點(diǎn)

機(jī)

g序

4

2

£”

在1-

任意給定的二叉樹(頂點(diǎn)數(shù)自定)建立它的二叉鏈表存儲(chǔ)結(jié)

構(gòu);

2利用棧的五種基本運(yùn)算(置空棧、進(jìn)棧、出棧、取棧頂元素、

判???實(shí)現(xiàn)二叉樹的先序、中序、后序三種遍歷,輸出

三種遍歷的結(jié)果。

3.求二叉樹高度、結(jié)點(diǎn)數(shù)、度為1的結(jié)點(diǎn)數(shù)和葉子結(jié)點(diǎn)數(shù)。

二、算法:

1.創(chuàng)建二叉樹:

StatusCreatebitree(bitree&t)序遍歷:Status

PreOrderTraverse(BitreeT,Status(*visit)

(TEIemType)){序遍歷:StatusInOrderTraverse(Bitree

T,Status(*Visit)(TEIemType)){

InitStack(s);Push(S,T);

WhiIe(!StackEmpty(s){

While(GetTop(s,p)&&p)Push(S,p->IchiId);

Pop(S,p);

If(!StackEmpty(s)){

Pop(s,p);if(!Visit(p->data))retuERROR;

Push(S,p->rchiId);

)

■J"C\Window5\$y$tem32>Debuq\dfhke<e*

不4

4

一各節(jié)點(diǎn)的值;

!

仰.

1,

2,

3,

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論