![程序設(shè)計(jì)類課程實(shí)驗(yàn)報(bào)告_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/9/1f453202-4535-4325-a265-2ec3d44088f8/1f453202-4535-4325-a265-2ec3d44088f81.gif)
![程序設(shè)計(jì)類課程實(shí)驗(yàn)報(bào)告_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/9/1f453202-4535-4325-a265-2ec3d44088f8/1f453202-4535-4325-a265-2ec3d44088f82.gif)
![程序設(shè)計(jì)類課程實(shí)驗(yàn)報(bào)告_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/9/1f453202-4535-4325-a265-2ec3d44088f8/1f453202-4535-4325-a265-2ec3d44088f83.gif)
![程序設(shè)計(jì)類課程實(shí)驗(yàn)報(bào)告_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/9/1f453202-4535-4325-a265-2ec3d44088f8/1f453202-4535-4325-a265-2ec3d44088f84.gif)
![程序設(shè)計(jì)類課程實(shí)驗(yàn)報(bào)告_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/9/1f453202-4535-4325-a265-2ec3d44088f8/1f453202-4535-4325-a265-2ec3d44088f85.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、國(guó)脈信息學(xué)院(程序設(shè)計(jì)類課程)實(shí)驗(yàn)報(bào)告課程名稱:算法與數(shù)據(jù)結(jié)構(gòu)姓名:張三系:計(jì)算機(jī)科學(xué)與技術(shù)專業(yè):年級(jí):學(xué)號(hào):指導(dǎo)教師:李小林職稱:副教授2012年11月日實(shí)驗(yàn)項(xiàng)目列表序號(hào)實(shí)驗(yàn)項(xiàng)目名稱成績(jī)指導(dǎo)教師1第七章檢索及基本算法23456789101112福建農(nóng)林大學(xué)計(jì)算機(jī)與信息學(xué)院實(shí)驗(yàn)報(bào)告系:計(jì)算機(jī)科學(xué)與技術(shù)專業(yè):年級(jí):姓名:_三學(xué)號(hào):實(shí)驗(yàn)室號(hào)計(jì)算機(jī)號(hào)93實(shí)驗(yàn)時(shí)間:2012.6.1指導(dǎo)教師簽字:成績(jī):實(shí)驗(yàn)七檢索一、實(shí)驗(yàn)?zāi)康暮鸵?) 掌握檢索的不同方法,并能用高級(jí)語言實(shí)現(xiàn)檢索算法。2) 熟練掌握順序表和有序表的檢索方法,以及靜態(tài)檢索樹的構(gòu)造方法和檢索算法,理解靜態(tài)檢索樹的折半檢索方法。3) 熟練掌握二
2、叉排序樹的構(gòu)造和檢索方法。4) 熟悉各種存儲(chǔ)結(jié)構(gòu)的特征以及如何應(yīng)用樹結(jié)構(gòu)解決具體問題。二、實(shí)驗(yàn)內(nèi)容和原理實(shí)驗(yàn)內(nèi)容:1)編程實(shí)現(xiàn)在二叉檢索樹中刪除一個(gè)結(jié)點(diǎn)的算法。2)編程實(shí)現(xiàn)Fibonacci檢索算法。實(shí)驗(yàn)原理:1)構(gòu)造排序樹,每輸入一個(gè)數(shù)就進(jìn)行排序,選擇插入的結(jié)點(diǎn),刪除結(jié)點(diǎn),沒刪除一個(gè)節(jié)點(diǎn)就返回到構(gòu)造排序樹的方法。5) Fibonacci數(shù)的定義為f0=0,f1=1,fi=f(i-1)+f(i-2)(in2)。由此得Fibonacci數(shù)列為0,1,1,2,3,5,8,13,21,34,55,89,144,設(shè)數(shù)組F中元素按關(guān)鍵字值從小到大順序排列,并假定元素個(gè)數(shù)n比某個(gè)Fibonacci樹fi小
3、1,即n=fi-1。第一次用待查關(guān)鍵字k與Ff(i-1),Key比較,其算法描述如下: 若 k=Ff(i-1),Key,則檢索成功,F(xiàn)f(i-1) 為k所在記錄。 若 k<Ff(i-1),Key,則下一次的檢索范圍為下標(biāo)1到f(i-1),序列長(zhǎng)度為f(i-1)。 若 k>Ff(i-1),Key,則下一次的檢索范圍為下標(biāo)f(i+1)+1到fi-1,序列長(zhǎng)度為(fi-1)-(f(i-1)+1)+1=fi-f(i-1)-1=f(i-2)-1設(shè)F是順序存儲(chǔ)的線性表且滿足F1,keyWF2,key<-<Fn。key,k是已知的關(guān)鍵字值,在F中檢索關(guān)鍵字值為k的記錄。若找到返回其下
4、標(biāo)值,否則返回0.三、實(shí)驗(yàn)環(huán)境WindowsXP系統(tǒng)visualc+6.0四、算法描述及實(shí)驗(yàn)步驟實(shí)驗(yàn)習(xí)題一:#include"stdio.h"#include"malloc.h"structBTnodeintdata;structBTnode*lchild,*rchild;*root;typedefstructBTnodeNode,*Nodep;voidcreatetree(intdata)Node*node,*p,*q;node=(Nodep)malloc(sizeof(Node);node->data=data;node->lchild=
5、0;node->rchild=0;if(root=0)root=node;return;elsep=root;while(p!=0)if(data<p->data)q=p;p=p->lchild;if(p=0)q->lchild=node;elseif(data>p->data)q=p;p=p->rchild;if(p=0)q->rchild=node;elsebreak;voidshowtree(structBTnode*proot,structBTnode*m,intspace)inti;charb;if(proot!=0)for(i=
6、1;i<=space-3;i+)printf("");if(space-3>=0)printf("->");if(proot=root)printf("%dn",proot->data);elseb='L'elseb='R'printf("%d(%c)”,proot->data,b);printf("n");m=proot;showtree(proot->lchild,m,space+6);showtree(proot->rchil
7、d,m,space+6);Nodepdeletep(Node*p)Node*q,*t;t=p;if(p->lchild!=0)p=p->lchild;q=p;while(p->rchild!=0)q=p;p=p->rchild;if(p=q)p->rchild=t->rchild;free(t);return(p);)if(p->lchild!=0)q->rchild=p->lchild;elseq->rchild=0;p->lchild=t->lchild;p->rchild=t->rchild;free(t
8、);return(p);)elseif(p->rchild!=0)p=p->rchild;q=p;while(p->lchild!=0)q=p;p=p->lchild;)if(p=q)p->lchild=t->lchild;if (p->lchild)free(t);return(p);if(p->rchild!=0)q->lchild=p->rchild;elseq->lchild=0;p->rchild=t->rchild;p->lchild=t->lchild;free(t);return(p);e
9、lsefree(p);return(0);NodepdeleteBTnode(intx)Node*p=root,*q;while(p!=0)q=p;if(p->data>x)p=p->lchild;elsebreak;elseif(p->data<x)if(p->rchild)p=p->rchild;elsebreak;if(p->data=x)break;if(p=root)&&(p->data=x)root=deletep(p);elseif(p=q->lchild)&&(p->data=x)
10、q->lchild=deletep(p);elseif(p=q->rchild)&&(p->data=x)q->rchild=deletep(p);elseif(p->data!=x)printf("cannotfoundthedatayouwanttodelete,pleasecheckit!n");return0;returnroot;intmain()charch;intdata;printf("Enter'c'createtree,Enter'd'deleteanode:&quo
11、t;);scanf("%c",&ch);getchar();root=0;while(ch='c'11ch='d')if(ch='c')printf("pleaseinputthekey:");scanf("%d”,&data);getchar();createtree(data);showtree(root,0,0);elseprintf("pleaseinputthekeyofthenodeyouwantdel:");scanf("%d”,&
12、;data);getchar();if(deleteBTnode(data)showtree(root,0,0);printf("Enter'c'createtree,Enter'd'deleteanode:");scanf("%c",&ch);return0;實(shí)驗(yàn)習(xí)題二:#include"stdio.h"typedefintkeytype;typedefintdatatype;typedefstructnodeintkey;rectype;intfibonacci(intn)if(n=0)re
13、turn0;elseif(n=1)return1;elsereturnfibonacci(n-1)+fibonacci(n-2);voidprintData(rectypeR口,intn)inti;for(i=1;i<=n;i+)printf("%5d",Ri.key);if(i%8=0)printf("n");printf("n");intfibsearch(rectypeR口,keytypeK,intn)intm,i,P,q,t;for(m=0;fibonacci(m)<=(n+1);m+)m-;i=fibonacci
14、(m-l);p=fibonacci(m-2);q=fibonacci(m-3);while(i>=0&&i<=n)if(K=Ri.key)returni;elseif(K<Ri.key)i=i-q;t=p;p=q;q=t-q;elseif(K>Ri.key)i=i+q;p=p-q;q=q-p;return0;voidmain()intm,i,k,n;rectypeR20;printf("Enterknum:");scanf("%d",&k);printf("enterR20:");for
15、(i=1;i<=20;i+)scanf("%d”,&Ri.key);printData(R,20);m=fibsearch(R,k,20);if(m=0)printf("Notfound!n");elseprintf("TheKeyhasbeenfoundatR%dn",m);getchar();五、調(diào)試過程1)構(gòu)建二叉排序樹:刪除二叉樹的節(jié)點(diǎn):1:1.1:1;1:1:1.1.:11:1:1.11:11:已啟動(dòng)生成:項(xiàng)目:麴捐結(jié)構(gòu)試脂,前置.DebugWin32生成啟動(dòng)時(shí)間為2011/5/9L6:£2.34o出垃七iix
16、eEui1dStatus;卜正在創(chuàng)建"D金口*教二居結(jié)構(gòu)試蛉,HLSUtsCei£mEuILu;1d",因?yàn)橐阎付ā吧?yMe總&止"心OCflmyile:.數(shù)雌構(gòu)i踴“PP.式迎儲(chǔ)"kt弓八數(shù)據(jù)結(jié)構(gòu)試蛉'敷娓堵構(gòu)試魄I敷娓結(jié)構(gòu)試蛤pQ7):mrw匚弱:'«¥":不是“融?!钡某蓡T*=:如上”式帥儲(chǔ)點(diǎn)七11A額據(jù)結(jié)構(gòu)試驗(yàn)'數(shù)據(jù)結(jié)榜成蛉1勃據(jù)結(jié)構(gòu)前煌.,回).參見“皿品”的聲明加泰t罐、數(shù)據(jù)結(jié)構(gòu)試蛉、激據(jù)結(jié)構(gòu)試嗓曲據(jù)結(jié)構(gòu)試驗(yàn)5PC29上打/斯C幼3日'""
17、":不是“口。瓶”的成員匚消gorChjAkdfpl額據(jù)結(jié)構(gòu)向哈上數(shù)據(jù)結(jié)構(gòu)試蛉,數(shù)據(jù)結(jié)構(gòu)試臉.rpp:參見“蛇。產(chǎn)的聲明_,cAcerGmA業(yè)5ktQjA數(shù)據(jù)結(jié)構(gòu)試臉圖據(jù)結(jié)構(gòu)試蛉曲據(jù)結(jié)構(gòu)試驗(yàn),cppGSl);errm陽啟9;key":不是"node"的成員,二八口w八hjAS&kS八數(shù)腦給林感'數(shù)福結(jié)構(gòu)狀金嗑據(jù)結(jié)構(gòu)試臉,泣?。?;善見,"a周"的聲明匕人04苴屈1船工地。仙數(shù)據(jù)結(jié)構(gòu)試哈1新?lián)畼?gòu)試IS(據(jù)箝憫試中pGB);bSFC2C招;:不是n,d的成員W5片r八用"亂研七噸,凝據(jù)緒構(gòu)試驗(yàn)"教據(jù)結(jié)構(gòu)跳蛉'數(shù)據(jù)結(jié)構(gòu)近臉.斗尸怎):參見,鼠。品”的聲明pgmVhptdckl摩I數(shù)據(jù)結(jié)構(gòu)試哈I藪據(jù)結(jié)何試喊I藪據(jù)結(jié)初試?guó)r.qpEBj:。加的:叫",不是樽養(yǎng)期/的成員卜士"g"八心、提a七匕八器I據(jù)第構(gòu)i醯4數(shù)據(jù)結(jié)梅i臉I(yè)射據(jù)結(jié)胸試臉.用p(5:參見產(chǎn)的聲明.-生成失敗4-“已用時(shí)間00
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 消費(fèi)者對(duì)網(wǎng)紅直播帶貨產(chǎn)品的信任度調(diào)查
- 《飲料與健康》(說課稿)皖教版四年級(jí)上冊(cè)綜合實(shí)踐活動(dòng)
- 現(xiàn)代辦公環(huán)境下的健康飲食與運(yùn)動(dòng)習(xí)慣培養(yǎng)
- Unit 6 The Media Lesson 1 From Page to Screen 說課稿-2024-2025學(xué)年高中英語北師大版(2019)選擇性必修第二冊(cè)
- 2024-2025學(xué)年高中物理 第一章 功和功率 第3節(jié) 功率說課稿2 魯科版必修2
- 13《人物描寫一組》說課稿-2023-2024學(xué)年統(tǒng)編版五年級(jí)語文下冊(cè)
- 2024-2025學(xué)年高中語文 第七單元 人與自然單元寫作訓(xùn)練5 如何做到情景交融說課稿 新人教版必修上冊(cè)
- 生產(chǎn)區(qū)域劃分的科學(xué)依據(jù)定置管理實(shí)戰(zhàn)分享
- 現(xiàn)代醫(yī)院建筑的老舊結(jié)構(gòu)加固方法探討
- 環(huán)境因素對(duì)腫瘤患者睡眠的影響研究
- 操作工考核評(píng)分表
- 俄羅斯水資源現(xiàn)狀分析
- 非法捕撈水產(chǎn)品罪
- 新概念第一冊(cè)單詞匯總帶音標(biāo)EXCEL版
- 作用于血液及造血器官的藥 作用于血液系統(tǒng)藥物
- 心肺復(fù)蘇(最全版)完整版
- 春節(jié)節(jié)后施工復(fù)工安全培訓(xùn)
- GB/T 3478.1-1995圓柱直齒漸開線花鍵模數(shù)基本齒廓公差
- GB/T 1346-2001水泥標(biāo)準(zhǔn)稠度用水量、凝結(jié)時(shí)間、安定性檢驗(yàn)方法
- FZ/T 25001-2012工業(yè)用毛氈
- 瑞幸咖啡SWOT分析
評(píng)論
0/150
提交評(píng)論