- 4
- 0
- 约1.16万字
- 约 54页
- 2017-03-05 发布于天津
- 举报
009_第九章搜尋.ppt
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 【舉例】假設有A,B兩串數列,如下所示: A數列: 9,14,20,25,30,36,42,48,53 B數列: 9,10,12,24,30,31,33,35,37,40 此時,如何分析A,B兩串數列的分佈情況? 【分析】 A 數列兩兩差距為5或6,即很接近,近似均勻分佈 B 數列兩兩差距有1,2,6,12,資料集中在30~40範圍,為不均勻 分佈。 【演算法】 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 Procedure IntSearch data[ ], key, n Begin low 0; high n-1; //low與high分別用來設定目前搜尋範圍的左右邊界位置 while low high //如果左邊界位置小於等於右邊界位置時,則 //調整mid的值 mid low + key - data[low] / data[high] - data[low] * high - low if mid low || mid high //超過範圍 return -1; //傳回-1 即代表搜尋失敗 if key data[mid] //如果鍵值比中間值小,則必須要調整high之值 high mid - 1; //右邊界位置 中間位置-1 else if key data[mid] //如果鍵值比中間值大,則必須要調整low之值 low mid + 1; //左邊界位置 中間位置+1 else //否則,代表已經找到鍵值的位置 return mid; //此時,傳回中間索引值的位置 return -1; //搜尋失敗,傳回-1 End End Procedure 【時間複雜度】 1.最佳時間:O 1 2.平均時間: O log n 3.最差時間: O log n 【適用時機】資料分佈均勻時,搜尋速度極快 【內插搜尋法深入探討】 1.一般而言,內插搜尋法優於循序搜尋法,而如果資料的分佈愈平 均,則搜尋速度愈快,甚至可能第一次就找到資料。因此,內插 搜尋法的時間複雜度取決於資料分佈的情況而定,平均而言優於 O log n 。 2.使用內插搜尋法資料需先經過排序。 【內插搜尋法的步驟】 假設有n筆資料,內插搜尋法的步驟如下: 其中: key是要尋找的鍵 data[high]:是剩餘待尋找記錄中的最大值 data[low]:是剩餘待尋找記錄中的最小值 步驟1.將記錄由小到大的順序給予1,2,3...n的編號 步驟2.令low 1,high n 步驟3.當low high時,重複執行步驟4及步驟5 步驟4.令Mid low + key - data[low] / data[high] – data[low] * high - low 步驟5. 1 若data[Mid] key且high≠Mid-1則令high Mid-1 2 若data[Mid]=key表示成功搜尋到鍵值的位置 3 若data[Mid] key且low≠Mid+1則令low Mid+1 【範例】利用內插搜尋法,對下列資料搜尋50 【解答】 1 low 0,high 9 由mid low+ key-A[low] / A[high]-A[low] * high-low 得知mid 0+ 50-1 / 100-1 * 9-0 49/99*9 ≒ 4 所以mid 4,A[4] 38 50 所以low mid+1 4+1 5 2 low 5,high 9 所以mid 5+ 50-44 / 100-44 * 9-5 5+6/56*4 ≒ 5 比較A[5] 44 50 所以low mid+1 6 3 low 6,high 9 所以mid 6+ 50-46 / 100-46 * 9-6 ≒6 比較A[6] 46 50 所以low mid+1 6+1 7 4 low 7,high 9 所以mid 7+ 50-50 / 100-50 * 9-7 ≒7 比較A[7] 50, 所以搜尋成功, 序列A中,A[7] 50 A[0] A[1] A[2] A[3] A[4] A[5] A[6] A[7] A[8] A[9] 1 3 15 27 38 44 46 50 58 100 9-6 雜湊搜尋法 Hashing Searc
您可能关注的文档
最近下载
- 珍惜战友情谊 密切内部关系.docx VIP
- PowerFlex 700变频器用户手册(中文).pdf
- 2025年厦门事业编考试真题及答案 .pdf VIP
- 2025年湖南科技大学中国近现代史纲要期末考试模拟题必考题.docx VIP
- 2025年宁夏大学微生物学专业《微生物学》期末试卷及答案.docx VIP
- 宁夏大学土壤学笔记.docx VIP
- 2025年山东劳动职业技术学院单招语文测试模拟题库附答案.docx VIP
- 2025(人教2019版)化学必修第二册 第五章单元解读课件.pptx
- 厦门市同安区事业单位招聘考试题目及答案2025.docx VIP
- 建筑工程论文8000字.pdf VIP
原创力文档

文档评论(0)