




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、.實 驗 報 告課程名稱 數據結構 實驗名稱 查找與排序的實現 系別 專業(yè)班級 指導教師11 學號 姓名 實驗日期 實驗成績 一、實驗目的(1) 掌握交換排序算法(冒泡排序)的基本思想;(2) 掌握交換排序算法(冒泡排序)的實現方法;(3) 掌握折半查找算法的基本思想;(4) 掌握折半查找算法的實現方法;二、實驗內容1. 對同一組數據分別進行冒泡排序,輸出排序結果。要求:1) 設計三種輸入數據序列:正序、反序、無序2) 修改程序:a) 將序列采用手工輸入的方式輸入b) 增加記錄比較次數、移動次數的變量并輸出其值,分析三種序列狀態(tài)的算法時間復雜性2. 對給定的有序查找集合,通過折半查找與給定值k
2、相等的元素。3. 在冒泡算法中若設置一個變量lastExchangeIndex來標記每趟排序時經過交換的最后位置,算法如何改進?三、設計與編碼1.本實驗用到的理論知識2.算法設計3.編碼package sort_search;import java.util.Scanner;public class Sort_Search /冒泡排序算法public void BubbleSort(int r) int temp;int count=0,move=0;boolean flag=true;for(int i=1;ir.length&flag;i+)flag=false;count+;for(in
3、t j=0;jrj+1)temp=rj;rj=rj+1;rj+1=temp;move+;flag=true;System.out.println(排序后的數組為:);for(int i=0;ir.length;i+)System.out.print(ri+ );System.out.println();System.out.println(比較次數為:+count);System.out.println(移動次數為:+move);public static int BinarySearch(int r,int key) /折半查找算法int low=0,high=r.length-1;whil
4、e(lowkey)high=mid-1;elselow=mid+1;return -1; /測試public static void main(String args) Sort_Search ss=new Sort_Search();int t=new int13;System.out.println(依次輸入13個整數為:);Scanner sc=new Scanner(System.in);for(int i=0;it.length;i+)ti=sc.nextInt();System.out.println(排序前的數組為: );for(int i=0;i0)System.out.pri
5、ntln(k+ 在數組中的位置是第: + BinarySearch(t,k);elseSystem.out.println(k+ 在數組中查找不到!); 四、運行與調試1. 在調試程序的過程中遇到什么問題,是如何解決的?問題:在計算比較次數和移動次數時,計算數據明顯出錯。原因:在進行移動和比較的過程中,沒有更新標志,導致計數出錯。解決辦法:在比較和移動的過程中,有進行比較和移動的操作時,更新標志。然后按標志計數。2. 設計了哪些測試數據?預計結果是什么?說明: 測試了int類型數據: 241 17 23 45 37 4 31 43 11 89 33 101 177 預計排序后結果為:4 11 17 23 31 33 37 43 45 89 101 177 241 比較次數: 無序:8次 正序:1次 反序:12次 移動次數: 無序:30次 正序:0次 反序:78次 查找數33的位置為:5 查找數101的位置為:10 查找數100的結果為:查找不到3. 程序運行的結果如何 I.無序輸入:II.正序輸入:III.反序輸入: 五、總結與心得六、思考題已知奇偶轉換排序如下:第一趟對所有奇數的i,將ai和ai+1進行比較,第二趟對所有偶數的i,將ai和ai+1進行比較,每次比較時若ai
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T-ZHAQ 8-2024 小葉牛大力種植技術規(guī)程
- 二零二五年度應屆大學生人力資源實習合同
- 二零二五年度股票投資風險控制與合規(guī)監(jiān)督協(xié)議
- 二零二五年度個人債權轉讓協(xié)議書(關于專利權轉讓)
- 高管二零二五年度勞動合同及離職交接程序
- 二零二五年度路橋工程土地征用與拆遷合同
- 美容院合伙人投資回報與風險控制協(xié)議書(2025年度)
- 2025年度金融借款合同違約起訴流程及費用結算合同
- 2025年度餐飲企業(yè)跨界合作合伙經營合同
- 2025年度租房押金保險產品推廣合同
- (正式版)CB∕T 4548-2024 船舶行業(yè)企業(yè)相關方安全管理要求
- 部編版八年級物理(上冊)期末試卷(帶答案)
- 《衡水內畫》課程標準
- DB32T 4400-2022《飲用水次氯酸鈉消毒技術規(guī)程》
- 化學品(氬氣+二氧化碳混合氣)安全技術使用說明書
- 煤層氣開發(fā)-第2章-煤層氣地質
- 美羅華(利妥昔單抗)課件
- 稅務簡易注銷課件
- 人教版五年級數學下冊第六單元分層作業(yè)設計
- 肺葉切除術和全肺切除術的麻醉課件
- 智能制造在食品加工業(yè)的應用
評論
0/150
提交評論