數(shù)據(jù)結構實驗五-查找與排序的實現(xiàn)_第1頁
數(shù)據(jù)結構實驗五-查找與排序的實現(xiàn)_第2頁
數(shù)據(jù)結構實驗五-查找與排序的實現(xiàn)_第3頁
數(shù)據(jù)結構實驗五-查找與排序的實現(xiàn)_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

實驗報告課程名稱數(shù)據(jù)結構實驗名稱查找與排序得實現(xiàn)系別專業(yè)班級指導教師11學號姓名實驗日期實驗成績一、實驗目得掌握交換排序算法(冒泡排序)得基本思想;掌握交換排序算法(冒泡排序)得實現(xiàn)方法;掌握折半查找算法得基本思想;掌握折半查找算法得實現(xiàn)方法;二、實驗內容對同一組數(shù)據(jù)分別進行冒泡排序,輸出排序結果。要求:設計三種輸入數(shù)據(jù)序列:正序、反序、無序修改程序:將序列采用手工輸入得方式輸入增加記錄比較次數(shù)、移動次數(shù)得變量并輸出其值,分析三種序列狀態(tài)得算法時間復雜性對給定得有序查找集合,通過折半查找與給定值k相等得元素。在冒泡算法中若設置一個變量lastExchangeIndex來標記每趟排序時經過交換得最后位置,算法如何改進?三、設計與編碼1、本實驗用到得理論知識2、算法設計3、編碼packagesort_search;importjava、util、Scanner;publicclassSort_Search{//冒泡排序算法?publicvoidBubbleSort(intr[]){ inttemp;? intcount=0,move=0;? booleanflag=true;? for(inti=1;i〈r、length&&flag;i++){?? flag=false;?? count++;? for(intj=0;j<r、length-i;j++){ if(r[j]>r[j+1]){ ? temp=r[j];? ??r[j]=r[j+1]; r[j+1]=temp; ?? move++; flag=true;? ? }???}? }??System、out、println("排序后得數(shù)組為:”);? for(inti=0;i〈r、length;i++){? ?System、out、print(r[i]+"”);? } System、out、println();? System、out、println("比較次數(shù)為:"+count);??System、out、println("移動次數(shù)為:”+move); }?publicstaticintBinarySearch(intr[],intkey){//折半查找算法? intlow=0,high=r、length-1;? while(low<=high){? intmid=(low+high)/2;? ?if(r[mid]==key){ ?returnmid; ??} ??elseif(r[mid]>key){ high=mid—1;?? }?? else{ ???low=mid+1; ??} ?}??return-1;?}//測試 publicstaticvoidmain(String[]args){? Sort_Searchss=newSort_Search(); intt[]=newint[13];? System、out、println(”依次輸入13個整數(shù)為:");? Scannersc=newScanner(System、in); ?for(inti=0;i〈t、length;i++){ ??t[i]=sc、nextInt(); ?}??System、out、println("排序前得數(shù)組為:");? for(inti=0;i<t、length;i++){? System、out、print(t[i]+"”);? } ?System、out、println();??ss、BubbleSort(t);//查找 ?while(true){??System、out、println("請輸入要查找得數(shù):”); ? ?intk=sc、nextInt(); ?if(BinarySearch(t,k)>0) System、out、println(k+"在數(shù)組中得位置就是第:"+BinarySearch(t,k));??else ??System、out、println(k+”在數(shù)組中查找不到!");? }?}}四、運行與調試在調試程序得過程中遇到什么問題,就是如何解決得?問題:在計算比較次數(shù)與移動次數(shù)時,計算數(shù)據(jù)明顯出錯。原因:在進行移動與比較得過程中,沒有更新標志,導致計數(shù)出錯。解決辦法:在比較與移動得過程中,有進行比較與移動得操作時,更新標志.然后按標志計數(shù)。設計了哪些測試數(shù)據(jù)?預計結果就是什么?說明:測試了int類型數(shù)據(jù):2411723453743143118933101177預計排序后結果為:4111723313337434589101177241比較次數(shù):=1\*GB3\*MERGEFORMAT①無序:8次=2\*GB3\*MERGEFORMAT②正序:1次=3\*GB3\*MERGEFORMAT③反序:12次移動次數(shù):=1\*GB3\*MERGEFORMAT①無序:30次=2\*GB3\*MERGEFORMAT②正序:0次=3\*GB3\*MERGEFORMAT③反序:78次查找數(shù)33得位置為:5查找數(shù)101得位置為:10查找數(shù)100得結果為:查找不到程序運行得結果如何=1\*ROMAN\*MERGEFORMATI、無序輸入:=2\*ROMAN\*MERGEFORMATII、正序輸入:=3\*ROMAN\*MERGEFORMATIII、反序輸入:五、總結與心得六、思考題已知奇偶轉換排序如下:第一趟對所有奇數(shù)得i,將a[i]與a[i+1]進行比較

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論