二分查找法例題 二分法比較次數(shù)?
二分法比較次數(shù)?二進(jìn)制搜索要求線性表的節(jié)點按鍵值排序并按順序存儲。搜索時,它首先與表中間節(jié)點的鍵值進(jìn)行比較。如果相等,則搜索成功。否則,根據(jù)比較結(jié)果,確定下一步將在表的上半部分或下半部分繼續(xù)。二進(jìn)制搜
二分法比較次數(shù)?
二進(jìn)制搜索要求線性表的節(jié)點按鍵值排序并按順序存儲。搜索時,它首先與表中間節(jié)點的鍵值進(jìn)行比較。如果相等,則搜索成功。否則,根據(jù)比較結(jié)果,確定下一步將在表的上半部分或下半部分繼續(xù)。二進(jìn)制搜索的效率更高。如果線性表有n個元素,則最大搜索次數(shù)是大于log2n的最小整數(shù),最小搜索次數(shù)是1。二分法搜索也稱為半搜索。二分法搜索的基本思想是讓字典中的元素從小到大有序地存儲在數(shù)組中。首先,將給定值鍵與字典中間元素的鍵代碼進(jìn)行比較。如果相等,則搜索成功;否則,如果鍵小,則在字典的前半部分繼續(xù)二分法搜索;如果鍵大,則在字典的后半部分繼續(xù)二分法搜索。這樣,在比較之后,檢索間隔將縮短一半,并且該過程將繼續(xù),直到檢索成功或失敗。二進(jìn)制搜索是一種高效的搜索方法,它要求字典按順序表中的鍵進(jìn)行排序
要對包含n個元素的有序數(shù)組進(jìn)行二進(jìn)制搜索。要分析的比較數(shù)可以通過繪制二叉決策樹來分析。二叉決策樹的高度為[log2(n)]1級,這是二叉搜索的最大比較次數(shù)。例如,如果n=1000,則最大比較次數(shù)為[log2(1000)]1=9,1=10。如果要計算平均比較次數(shù),則需要分析二叉決策樹中的每個節(jié)點。第一級比較一次,第二級比較兩次,第三級比較三次,以此類推,將每個節(jié)點的比較次數(shù)相加,然后節(jié)點數(shù)(元素數(shù))就是平均比較次數(shù)。這里,假設(shè)搜索是在等概率條件下進(jìn)行的。例如:有一個由九個元素組成的有序數(shù)組,每個元素用1,2,3。。。8, 9. 然后二叉決策樹如下:如圖所示,如果要查找的元素位于第五個位置,則只需進(jìn)行一次比較即可找到它。如果找到第九個元素,就需要四個比較。該算法分別比較第五、第七、第八和第九個元素。因此,平均比較次數(shù)如下:你能理解這個分析嗎?希望能對你有所幫助。