二分查找的比較次數(shù) 長(zhǎng)度為32的有序表中進(jìn)行二分查找,所需進(jìn)行的關(guān)鍵字比較次數(shù)最多是多少?它的公式是什么?
長(zhǎng)度為32的有序表中進(jìn)行二分查找,所需進(jìn)行的關(guān)鍵字比較次數(shù)最多是多少?它的公式是什么?比較的最小數(shù)目是1,例如[1,2,3]二進(jìn)制搜索2。最大比較數(shù)為log2(n)1,向下舍入。對(duì)于有序表,根據(jù)二進(jìn)制
長(zhǎng)度為32的有序表中進(jìn)行二分查找,所需進(jìn)行的關(guān)鍵字比較次數(shù)最多是多少?它的公式是什么?
比較的最小數(shù)目是1,例如[1,2,3]二進(jìn)制搜索2。最大比較數(shù)為log2(n)1,向下舍入。對(duì)于有序表,根據(jù)二進(jìn)制搜索法的定義,每次比較后問(wèn)題大小將減少一半,因此2^k=n,解為k=log2(n)。因?yàn)楫?dāng)最后只剩下一個(gè)元素時(shí),搜索過(guò)程也會(huì)執(zhí)行,所以1。
C語(yǔ)言,二分法查找次數(shù)公式怎么推導(dǎo)?
二進(jìn)制搜索對(duì)于具有n個(gè)元素的有序數(shù)組,可以通過(guò)繪制二進(jìn)制決策樹(shù)來(lái)分析要分析的比較數(shù)。二叉決策樹(shù)的高度為[log2(n)]1級(jí),這是二叉搜索的最大比較次數(shù)。例如,如果n=1000,則最大比較次數(shù)為[log2(1000)]1=9,1=10。如果要計(jì)算平均比較次數(shù),則需要分析二叉決策樹(shù)中的每個(gè)節(jié)點(diǎn)。第一級(jí)比較一次,第二級(jí)比較兩次,第三級(jí)比較三次,以此類推,將每個(gè)節(jié)點(diǎn)的比較次數(shù)相加,然后節(jié)點(diǎn)數(shù)(元素?cái)?shù))就是平均比較次數(shù)。這里,假設(shè)搜索是在等概率條件下進(jìn)行的。例如:有一個(gè)由九個(gè)元素組成的有序數(shù)組,每個(gè)元素用1,2,3。。。8, 9. 然后二叉決策樹(shù)如下:如圖所示,如果要查找的元素位于第五個(gè)位置,則只需進(jìn)行一次比較即可找到它。如果找到第九個(gè)元素,就需要四個(gè)比較。該算法分別比較第五、第七、第八和第九個(gè)元素。因此,平均比較次數(shù)如下:你能理解這個(gè)分析嗎?希望能對(duì)你有所幫助。