




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
本文格式為Word版下載后可任意編輯和復(fù)制第第頁數(shù)據(jù)結(jié)構(gòu)查找
南京信息工程高校試驗(實習(xí))報告
一、試驗?zāi)康?/p>
查找(挨次查找、折半查找)
二、試驗內(nèi)容
解和把握靜態(tài)查找表的查找過程;
把握挨次查找算法;
把握折半查找算法
要求完成靜態(tài)查找表的挨次查找和折半查找算法的實現(xiàn)。
三、試驗步驟
#includestdio.h
#includestdlib.h
#includemath.h
#includetime.h
#defineN10
typedefintDataType;//定義比較的元素類型
//靜態(tài)查找表的挨次存儲結(jié)構(gòu)
typedefstruct{
DataType*data;//數(shù)據(jù)元素存儲空間基址,按實際長度安排,0號單元留空
//建表時按實際長度安排,0號單元留空intlength;//表長度
}SSTable;
//創(chuàng)建一個靜態(tài)表,內(nèi)容為20以內(nèi)的隨機數(shù)
voidcreateST(SSTable*ST,intn){
inti;
time_tt;
if(ST!=NULL){
ST-data=(DataType*)calloc(n+1,sizeof(DataType));if(ST-data!=NULL){
srand((unsigned)time(t));
for(i=1;i=n;i++){
ST-data[i]=rand();//產(chǎn)生20以內(nèi)的隨機數(shù)}
ST-length=n;
}
}
}
//創(chuàng)建一個靜態(tài)表,內(nèi)容按從小到大排列,以便折半查找voidcreateST_binary(SSTable*ST,intn){
inti,j=0;
time_tt;
if(ST!=NULL){
ST-data=(DataType*)calloc(n+1,sizeof(DataType));
if(ST-data!=NULL){
for(i=1;i=n;i++){
ST-data[i]=j;
j+=4;
}
ST-length=n;
}
}
}
//打印出靜態(tài)表的內(nèi)容
voidprint_SSTable(SSTable*ST){
inti,n=ST-length;
if(ST!=NULL){
for(i=1;i=n;i++){
printf(%d,ST-data[i]);
}
printf(\n);
}
}intsearch_seq(SSTableST,DataTypekey){
inti;
if(ST.data==NULL)return0;
ST.data[0]=key;//設(shè)置監(jiān)視哨。目的在于免去查找過程中每一步都要檢測整
//個表是否查找完畢,是一個很有效的程序設(shè)計技巧。監(jiān)視
//哨也可以設(shè)在高下標(biāo)處。
for(i=ST.length;ST.data[i]!=key;i--);
returni;
}
intsearch_binary(SSTableST,DataTypekey){
intlow,high,mid;
low=1;
high=ST.length;
while(low=high){//當(dāng)表空間存在時
mid=(low+high)/2;
if(ST.data[mid]==key){
returnmid;//查找勝利,返回mid
}
if(keyST.data[mid]){
high=mid-1;//連續(xù)在前半?yún)^(qū)間查找
}else{
low=mid+1;//連續(xù)在后半?yún)^(qū)間查找
}
}
return0;//查找失敗
}
intmain(){
intn=20;//在20個數(shù)中查找,便利看結(jié)果,不要設(shè)置得太大
SSTableST,ST_binary;//分別用于挨次查找和折半查找的靜態(tài)表indexindtb[n+1];//索引表,用于分塊查找
createST(ST,n);//創(chuàng)建一個隨機靜態(tài)表
createST_binary(ST_binary,n);//創(chuàng)建一個從小到大挨次排列的靜態(tài)表
//采納挨次查找
printf(原始數(shù)據(jù):);
print_SSTable(ST);
printf(挨次查找5的結(jié)果:%d\n,search_seq(ST,5));
printf(挨次查找10的結(jié)果:%d\n,search_seq(ST,10));
printf(挨次查找12的結(jié)果:%d\n,search_seq(ST,12));
printf(挨次查找15的結(jié)果:%d\n,search_seq(ST,15));
printf(挨次查找20的結(jié)果:%d\n,search_seq(ST,20));
printf(\n);//采納折半查找
printf(原始數(shù)據(jù):);
print_SSTable(ST_binary);
printf(折半查找5的結(jié)果:%d\n,search_binary(ST_binary,5));printf(折半查找10的結(jié)果:%d\n,search_binary(ST_binary,10));printf(折半查找12的結(jié)果:%d\n,search_binary(ST_binary,12));printf(折半查找15的結(jié)果:%d\n,search_binary(ST_binary,15));printf(折半查找20的結(jié)果:%d\n,search_binary(ST_binary,20));system(pause);//暫停一下,看看結(jié)果
free(ST.data);//不要忘了釋放堆空間
return0;
}
四、試驗結(jié)果
五、試驗小結(jié)
挨次查找
思路:從表中最終一個記錄開頭,逐個進行記錄的關(guān)鍵字和
給定值的比較,若某個記錄的關(guān)鍵字和給定值比較相等,則
返回返回記錄所在的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年軟件工程師雇傭合同標(biāo)準(zhǔn)
- 2025年合同中智力成果權(quán)維護
- 2025年先進設(shè)備技術(shù)合同文本
- 構(gòu)建和諧工程建設(shè)環(huán)境加強合同管理作用
- 2025年制造基地開發(fā)合同
- 高中信息技術(shù)滬科版必修 教學(xué)設(shè)計 - 2.4 信息價值的判斷
- 2025年宿遷市園林工程承包合同
- 2025年業(yè)務(wù)代理合同樣式
- 2025年公立學(xué)校教育資源共享合同樣本
- 2025年全球行政人員雇傭合同標(biāo)準(zhǔn)
- JJF 1176-2024(0~2 300) ℃鎢錸熱電偶校準(zhǔn)規(guī)范
- 8.4+同一直線上二力的合成課件+2024-2025學(xué)年人教版物理八年級下冊
- 2024年河北省邢臺市公開招聘警務(wù)輔助人員(輔警)筆試專項訓(xùn)練題試卷(2)含答案
- 家政公司服務(wù)員考試題庫單選題100道及答案解析
- 人工智能:AIGC基礎(chǔ)與應(yīng)用 課件 實訓(xùn)項目九 使用度加創(chuàng)作工具和剪映進行智能化短視頻創(chuàng)作
- 《日影的朝向及長短》課件
- 手術(shù)室脛骨骨折護理查房
- 中職普通話教師教案模板
- 施工后期的場地恢復(fù)措施
- 七年級歷史下冊 第一單元 隋唐時期繁榮與開放的時代 第1課 隋朝的統(tǒng)一與滅亡說課稿1 新人教版
- 智能教育機器人AI項目策劃創(chuàng)業(yè)計劃書
評論
0/150
提交評論