




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、實(shí)驗(yàn)報(bào)告姓課程名稱:院(系專業(yè)/年級(jí):實(shí)驗(yàn)四查找一、實(shí)驗(yàn)?zāi)康?.掌握順序表的查找方法,尤其是折半查找方法;2.掌握二叉排序樹(shù)的查找算法。二、實(shí)驗(yàn)預(yù)習(xí)內(nèi)容請(qǐng)?jiān)谏蠙C(jī)前認(rèn)真閱讀教材及實(shí)驗(yàn)指導(dǎo)書(shū),并在以下空白處填寫(xiě)相應(yīng)的內(nèi)容。1.請(qǐng)寫(xiě)出簡(jiǎn)單順序查找算法。intseq_search(elementtypeA,intn,keytypex)i=n;A0.key=x;while(Ai.key=x)i-;returni;2.請(qǐng)寫(xiě)出有序表二分(折半)查找算法。(1)非遞歸算法intbin_search(elementtypeA,intn,keytypex)intmid,low=0,high=n-1;/初始化查找區(qū)
2、域while(low=high)mid=(low+high)/2;if(x=Amid.keyreturnmid;elseif(xhigh)return-1;/查找失敗elsemid=(low+high)/2;/求解中間元素的下標(biāo)if(x=Amid.key)returnmid;/查找成功elseif(xkeykey)insert(T-lchild,S);/插入到T的左子樹(shù)中elseinsert(T-rchild,S);/插入到T的右子樹(shù)中3)請(qǐng)寫(xiě)出二叉排序樹(shù)構(gòu)造的算法。voidcreate_bst(Bnode*&T);/通過(guò)插入結(jié)點(diǎn)構(gòu)造二叉排序樹(shù)的算法Bnode*u;elementtypex;T
3、=NULL;cinx;/初始化根指針并讀入第一個(gè)元素值While(x!=end_of_num)/x不是結(jié)束符時(shí)u=newBnode;u-data=x;/產(chǎn)生新結(jié)點(diǎn)并裝入數(shù)據(jù)u-lchild=NILL;u-rchild=NULL;/設(shè)置左、右孩子指針為空insert(T,u);/插入結(jié)點(diǎn)到二叉排序樹(shù)T中cinx;/讀入下一個(gè)元素的值)請(qǐng)寫(xiě)出二叉排序樹(shù)查找的算法。非遞歸算法:Bnode*bst_search(Bnode*T,keytypex)Bnode*P=T;/P指向根while(p!=NULL)if(x=p-key)returnp;/查找成功elseif(xkey=p-lchild);/到左子
4、樹(shù)中繼續(xù)查找elsep=p-rchild;/到右子樹(shù)中繼續(xù)查找returnp;/返回結(jié)果可能為空,也可能非空遞歸算法:Bnode*bst_search(Bnode*T,keytypex)if(T=NULL|t-key=x)returnT;/子樹(shù)為空或已經(jīng)找到時(shí)均可結(jié)束elseif(xkey)returnbst_search(T-lchild,x);/左子樹(shù)中查找的結(jié)果就是函數(shù)的結(jié)果elsereturnbst_search(T-rchild,x);/右子樹(shù)中查找的結(jié)果就是函數(shù)的結(jié)果三、上機(jī)實(shí)驗(yàn)1.實(shí)驗(yàn)內(nèi)容。1)建立一個(gè)順序表,用順序查找的方法對(duì)其實(shí)施查找;2)建立一個(gè)有序表,用折半查找的方法對(duì)其
5、實(shí)施查找;3)建立一個(gè)二叉排序樹(shù),根據(jù)給定值對(duì)其實(shí)施查找;4)對(duì)同一組數(shù)據(jù),試用三種方法查找某一相同數(shù)據(jù),并嘗試進(jìn)行性能分析。2.實(shí)驗(yàn)源程序。(1)#include#include#definemax100intx;typedefstructintdatamax;intlistlen;seqlist;voidinitial_list(seqlist*L)L-listlen=0;voidlist_creat(seqlist*L)inti;L-listlen+;i=L-listlen;L-datai=x;intlast_search(seqlist*L)inti;i=L-listlen;L-dat
6、a0=x;while(L-datai!=x)i-;returni;intfirst_search(seqlist*L)inti,n;n=L-listlen;for(i=1;idatai=x)returni;return-1;intbin_search(seqlist*L)intmid,low=1,high=L-listlen;while(lowdatamid)returnmid;elseif(xdatamid)high=mid-1;elselow=mid+1;return-1;intmain(void)seqlist*L;L=(seqlist*)malloc(sizeof(seqlist);i
7、nta,b,c;initial_list(L);printf(你想創(chuàng)建有序的查找表(以-1結(jié)束):);scanf(%d,&x);while(x!=-1)list_creat(L);scanf(%d,&x);printf(請(qǐng)輸入你想查找的數(shù):);scanf(%d,&x);printf(順序查找-你所要找數(shù)的下標(biāo)號(hào):);a=first_search(L);if(a=-1)printf(沒(méi)有你所要查的數(shù)!);elseprintf(%d,a);printf(n);printf(倒序查找-你所要找數(shù)的下標(biāo)號(hào):);b=last_search(L);if(b=0)printf(沒(méi)有你所要查的數(shù)!);else
8、printf(%d,b);printf(n);printf(折半查找-你所要找數(shù)的下標(biāo)號(hào):);c=bin_search(L);if(c=-1)printf(沒(méi)有你所要查的數(shù)!);elseprintf(%d,c);printf(n);return0;(2)#include#include#includetypedefstructBTnodeintdata;structBTnode*lchild,*rchild;BTnode,*Bnode;voidinsert(Bnode&T,BnodeS)if(T=NULL)T=S;elseif(S-datadata)insert(T-lchild,S);els
9、einsert(T-rchild,S);voidcreate_bat(Bnode&T)Bnodeu;intx;T=NULL;printf(putanumber:);scanf(%d,&x);while(x!=-1)u=(BTnode*)malloc(sizeof(BTnode);u-data=x;u-lchild=NULL;u-rchild=NULL;insert(T,u);printf(putanumber:);scanf(%d,&x);Bnodebst_search(BnodeT,intx)if(T=NULL|T-data=x)returnT;elseif(T-data)x)returnbst_search(T-lchild,x);elsereturnbst_search(T-rchild,x);intmain()intx;BnodeT,p;printf(請(qǐng)先建立一棵二叉排序樹(shù):);printf(n);create_bat(T);printf(請(qǐng)輸入你要查找的數(shù)字:);scanf(%d,&x);p=bst_search(T,x);if(p!=NULL)printf(已找到你
溫馨提示
- 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年冷鏈裝備資金需求報(bào)告代可行性研究報(bào)告
- 2024年養(yǎng)老服務(wù)資金需求報(bào)告代可行性研究報(bào)告
- 2024年商用家具項(xiàng)目投資申請(qǐng)報(bào)告代可行性研究報(bào)告
- 2024年水電站計(jì)算機(jī)監(jiān)控裝置項(xiàng)目資金申請(qǐng)報(bào)告代可行性研究報(bào)告
- 松原市寧江區(qū)2025年八年級(jí)《語(yǔ)文》上學(xué)期期末試題與參考答案
- 2024年新能源環(huán)衛(wèi)裝備資金籌措計(jì)劃書(shū)代可行性研究報(bào)告
- 2025年中國(guó)邊緣行業(yè)市場(chǎng)規(guī)模及投資前景預(yù)測(cè)分析報(bào)告
- 2025年中國(guó)苯乙烯類熱塑性彈性體行業(yè)市場(chǎng)前景預(yù)測(cè)及投資價(jià)值評(píng)估報(bào)告
- 2025年中國(guó)辦公室燈具行業(yè)市場(chǎng)前景預(yù)測(cè)及投資價(jià)值評(píng)估分析報(bào)告
- 能源產(chǎn)業(yè)園區(qū)基礎(chǔ)設(shè)施建設(shè)補(bǔ)充協(xié)議
- 軟件工程監(jiān)理實(shí)施細(xì)則10
- 2024年認(rèn)證行業(yè)法律法規(guī)及認(rèn)證基礎(chǔ)知識(shí)答案
- (一模)2025年深圳市高三年級(jí)第一次調(diào)研考試 英語(yǔ)試卷(含標(biāo)準(zhǔn)答案)
- 越南投資環(huán)境評(píng)價(jià)與重點(diǎn)投資區(qū)域研究
- 神經(jīng)內(nèi)科緊急護(hù)理人力資源調(diào)配演練記錄
- 湖北省武漢市漢陽(yáng)區(qū)2024-2025學(xué)年七年級(jí)上學(xué)期期末檢測(cè)英語(yǔ)試卷(含答案無(wú)聽(tīng)力原文及音頻)
- 《硬科技早期投資-項(xiàng)目評(píng)估指南》
- 2025年貴州遵義路橋工程限公司招聘10人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 上海市居住房屋租賃合同范本
- 廣西河池市(2024年-2025年小學(xué)六年級(jí)語(yǔ)文)部編版小升初模擬(下學(xué)期)試卷及答案
- 保潔及會(huì)務(wù)服務(wù)項(xiàng)目技術(shù)方案
評(píng)論
0/150
提交評(píng)論