20172319 2018.10.12《Java程序设计教程》第6周课堂实践(补写博客)
生活随笔
收集整理的這篇文章主要介紹了
20172319 2018.10.12《Java程序设计教程》第6周课堂实践(补写博客)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
20172319 2018.10.12 《Java程序設計教程》第6周課堂測驗
- 課程:《程序設計與數據結構》
- 班級:1723
- 學生:唐才銘
- 學號:20172319
- 指導老師:王志強
- 日期:2018.10.12
- 必修/選修:必修
目錄
- 測試內容
- 測試要求
- 實驗步驟
- 需求分析
- 代碼實現及解釋
- 程序運行結果及代碼截圖
- 測試過程及遇到的問題
- 代碼鏈接
- 參考資料
測試內容
- 已知線性表具有元素{5,13,19,21,37,56,64,75,80,88,92},如果使用折半查找法,ASL是多少?
(本題目2分,要求寫出結題過程)
測試要求
- 完成藍墨云班課上的ASL測試任務;并截圖(類代碼,測試代碼,運行結果代碼)發送至藍墨云
- 托管代碼至git@OSC,詳情參考使用開源中國托管代碼
- 返回目錄
實驗步驟
需求分析
- 返回目錄
代碼實現及解釋
折半查找(二分查找):
- 相對于線性查找來說效率較高;
- 要求:被查找元素處在一個項目組中;被查找的元素已經排好順序;
- 原理:首先先確定在該存儲結構的中點位置;之后將待查找的值與中值進行比較;若二者相等,則查找成功并返回此位置,否則確定新的查找區間,再繼續進行二分查找:
- 1.若待查找值大于中值,則新的查找區間為前一查找區間的中值及區間后半部分元素。
- 2.若待查找值小于中值,則新的查找區間為前一查找區間的中值及區間前半部分元素。
- 從初始的查找區間開始,每經過一次與當前查找區間的中點位置上的結點值的比較,即可判斷查找是否成功,不成功則當前的查找區間便縮小一半。這一過程一直重復,直至找到待查找值的位置,或者直至當前的查找區間為空(即查找失敗)為止。
ASL(Average Search Length :平均查找長度)
- 衡量查找效率的一個標準。
對于含有n個數據元素的查找表,查找成功的平均查找長度為:ASL=∑PiCi (i=1,2,3,…,n)。其中:Pi 為查找表中第i個數據元素的概率,Ci為找到第i個數據元素時已經比較過的次數,∑Pi=1。
返回目錄
程序運行結果及代碼截圖
- 已知線性表具有元素{5,13,19,21,37,56,64,75,80,88,92},如果使用折半查找法,ASL是多少?
- 解答:
- 表中共有11個元素,其中56為表中間元素的值。
- 使用二分查找,則:
- 56需要查找1次;
- 19及80需要查找2次;
- 13,21,75,88需要查找3次;
- 5,37,64,92需要查找4次;
- 查找的概率相等:1/11;
ASL=1/n * ∑Ci = 1/11 * (1 + 2 * 2 + 4 * 3 + 4 * 4) = 33/11 = 3
返回目錄
參考資料
查找算法平均查找長度的計算方法
返回目錄
轉載于:https://www.cnblogs.com/Tangcaiming/p/9787822.html
總結
以上是生活随笔為你收集整理的20172319 2018.10.12《Java程序设计教程》第6周课堂实践(补写博客)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java基本语法——常量、变量、数据类型
- 下一篇: websocket 工作原理