武漢紡織大學(xué)數(shù)據(jù)結(jié)構(gòu)試驗(yàn)報(bào)告4_第1頁(yè)
武漢紡織大學(xué)數(shù)據(jù)結(jié)構(gòu)試驗(yàn)報(bào)告4_第2頁(yè)
武漢紡織大學(xué)數(shù)據(jù)結(jié)構(gòu)試驗(yàn)報(bào)告4_第3頁(yè)
武漢紡織大學(xué)數(shù)據(jù)結(jié)構(gòu)試驗(yàn)報(bào)告4_第4頁(yè)
武漢紡織大學(xué)數(shù)據(jù)結(jié)構(gòu)試驗(yàn)報(bào)告4_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

本文格式為Word版,下載可任意編輯——武漢紡織大學(xué)數(shù)據(jù)結(jié)構(gòu)試驗(yàn)報(bào)告4武漢紡織大學(xué)《數(shù)據(jù)結(jié)構(gòu)》試驗(yàn)報(bào)告

班級(jí):信管專業(yè)班姓名:學(xué)號(hào):試驗(yàn)時(shí)間:年月日指導(dǎo)教師:

試驗(yàn)四:查找操作與應(yīng)用

一、試驗(yàn)?zāi)康模?/p>

1、把握順序查找、折半查找、哈希查找的基本方法和操作過程2、把握查找效率的分析方法

二、試驗(yàn)內(nèi)容:

1、編寫程序,實(shí)現(xiàn)順序查找操作,可參考書本P260例如程序。試驗(yàn)步驟:

①、在Java語(yǔ)言編輯環(huán)境中新建程序,建立一個(gè)順序表(表長(zhǎng)10),依次輸入10個(gè)數(shù)據(jù)元素(對(duì)元素存放的先后順序沒有要求),并依照存儲(chǔ)順序輸出所有元素;

②、輸入帶查找關(guān)鍵字,在順序表中進(jìn)行順序查找;③、輸出查找結(jié)果。

2、編寫程序,實(shí)現(xiàn)有序表折半查找操作,可參考書本P263例如程序。試驗(yàn)步驟:

①、在Java語(yǔ)言編輯環(huán)境中新建程序,建立一個(gè)順序表(表長(zhǎng)10),依次輸入10個(gè)數(shù)據(jù)元素(要求所有元素依照遞增順序排列),并依照存儲(chǔ)順序輸出所有元素;

②、輸入帶查找關(guān)鍵字,在有序表中進(jìn)行折半查找;③、輸出查找結(jié)果。

3、編寫程序,實(shí)現(xiàn)哈希表查找操作。試驗(yàn)步驟:

①、在Java語(yǔ)言編輯環(huán)境中新建程序,建立一個(gè)順序表(表長(zhǎng)12),依次輸入10個(gè)數(shù)據(jù)元素,并依照存儲(chǔ)順序輸出所有元素;②、輸入帶查找關(guān)鍵字,在哈希表中進(jìn)行查找;③、輸出查找結(jié)果。

已知:哈希函數(shù)為H(key)=keyMOD11,采用開放地址法、線性探測(cè)再散列解決沖突,輸入元素為{55,19,31,23,68,20,27,9,10,79}。

三、操作步驟:1.順序查找

(1)將順序查找方法添參與SeqList.java中

//順序表查找關(guān)鍵字為key元素,返回首次出現(xiàn)的元素,若查找不成功返回-1//key可以只包含關(guān)鍵字?jǐn)?shù)據(jù)項(xiàng),由T類的equals()方法提供比較對(duì)象相等的依據(jù)publicintindexOf(Tkey){

if(key!=null)

for(inti=0;ilist=newSeqList(10);list.append(2);list.append(3);list.append(4);list.append(5);list.append(6);list.append(7);list.append(8);list.append(9);list.append(10);list.append(11);

}

}

System.out.println(list.toString());System.out.println(\輸入要查找的數(shù):\);Scannerscan=newScanner(System.in);while(true){

intkey=scan.nextInt();

System.out.println(\順序查找:\+list.search(key));}

(3)運(yùn)行結(jié)果

2.折半查找

(1)將折半查找方法添參與SeqList.java中

//在按升序排序的數(shù)組中,折半查找關(guān)鍵字為key元素,若找到返回下標(biāo),否則返回-1publicintbinarySearch(Tkey){

intbegin=0;

intend=this.len-1;if(key!=null)

while(begin0)//給定對(duì)象小

}

return-1;//查找不成功}

(2)Binarysearch.java

packagesearch;

importjava.util.Scanner;/***

*@authorpang**/

publicclassBinarysearch{

publicstaticvoidmain(String[]args){

SeqListlist=newSeqList(10);list.append(2);list.append(3);list.append(4);list.append(5);list.append(6);list.append(7);list.append(8);list.append(9);list.append(10);list.append(11);

System.out.println(list.toString());System.out.println(\輸入要查找的數(shù):\);Scannerscan=newScanner(System.in);while(true){}

intkey=scan.nextInt();

System.out.print(\折半查找:\);

System.out.println(list.binarySearch(key));

}

}

(3)運(yùn)行結(jié)果

3.哈希查找

(1)將構(gòu)造哈希表和哈希查找的方法參與SeqList.java中

//除留余數(shù)法計(jì)算哈希值,構(gòu)造哈希表publicvoidhash(intx,inty){

inth=x%y;

if(Integer.parseInt(element[h].toString())==0)//該位置為空,不沖突

this.set(h,x);//此處為set(intx,inty)的方法,與原set方法有一定

區(qū)別

else//沖突

hash(h+1,y);//開放地址法、線性探測(cè)再散列解決沖突

}

//哈希查找

publicint

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論