試卷征集
加入會(huì)員
操作視頻
插補(bǔ)查找算法又稱為插值查找,它是二分查找算法的改進(jìn)版。插補(bǔ)查找是按照數(shù)據(jù)的分布,利用公式預(yù)測(cè)鍵值所在的位置,快速縮小鍵值所在序列的范圍,慢慢逼近,直到查找到數(shù)據(jù)為止。它類似于平常查字典的方法。例如,我們?cè)诜值洳橐粋€(gè)發(fā)音以字母B開(kāi)頭的文字時(shí),不會(huì)使用二分查找法找字典的中間部分,因?yàn)楦鶕?jù)字典的順序可知,發(fā)音以B開(kāi)頭的文字應(yīng)該在字典較前的部分,所以可以從字典前部的某處開(kāi)始查找。插補(bǔ)查找算法的所謂中間位置鍵值索引計(jì)算方式:
middle=low+(target-data[low])/(data[high]-data[low])*(high-low)
參數(shù)說(shuō)明:
data:數(shù)據(jù)列表
middle:當(dāng)前需要比對(duì)的數(shù)據(jù)索引
low:最左側(cè)數(shù)據(jù)的索引
high:最右側(cè)數(shù)據(jù)的索引
target:查找的目標(biāo)數(shù)據(jù)
      現(xiàn)有150位學(xué)生(編號(hào)從1到150)參加軍訓(xùn)拉練,從中隨機(jī)選取9位同學(xué)作為旗手如:[12,薛丁],[45,李強(qiáng)],[56,徐梓],[66,鮑杰],[77,黃怡],[80,余澍],[97,金維],[101,方茹],[120,陳昀],現(xiàn)在某位家長(zhǎng)想知道方茹同學(xué)是否被選到,如果選到又是第幾個(gè)旗手,為了解決這個(gè)問(wèn)題,可以使用插補(bǔ)查找算法來(lái)解決問(wèn)題。例如:查找方茹,需要輸入101進(jìn)行查找,具體如圖所示:
菁優(yōu)網(wǎng)
(1)在題目所示案例中,若使用插補(bǔ)查找算法查找45,則該過(guò)程中訪問(wèn)到的數(shù)據(jù)依次為
56 45
56 45
;
(2)實(shí)現(xiàn)上述功能的Python程序如下,請(qǐng)?jiān)跈M線處填入合適的代碼。
菁優(yōu)網(wǎng)菁優(yōu)網(wǎng)
【答案】56 45
【解答】
【點(diǎn)評(píng)】
聲明:本試題解析著作權(quán)屬菁優(yōu)網(wǎng)所有,未經(jīng)書面同意,不得復(fù)制發(fā)布。
發(fā)布:2024/4/20 14:35:0組卷:1引用:1難度:0.3
相似題
  • 1.對(duì)于下列程序段的解釋,正確的是( ?。?img alt="菁優(yōu)網(wǎng)" src="http://img.jyeoo.net/quiz/images/202308/464/733d5cfb.png" style="vertical-align:middle" />
    發(fā)布:2024/7/23 8:0:8組卷:0引用:0難度:0.5
  • 2.下列對(duì)Python程序設(shè)計(jì)風(fēng)格的描述正確的是( ?。?/div>
    發(fā)布:2024/7/23 8:0:8組卷:0引用:0難度:0.6
  • 3.以下不屬于Python中的數(shù)據(jù)可視化工具模塊的是( ?。?/div>
    發(fā)布:2024/8/7 8:0:9組卷:0引用:0難度:0.6
小程序二維碼
把好題分享給你的好友吧~~
APP開(kāi)發(fā)者:深圳市菁優(yōu)智慧教育股份有限公司 | 應(yīng)用名稱:菁優(yōu)網(wǎng) | 應(yīng)用版本:4.8.2  |  隱私協(xié)議      第三方SDK     用戶服務(wù)條款廣播電視節(jié)目制作經(jīng)營(yíng)許可證出版物經(jīng)營(yíng)許可證網(wǎng)站地圖本網(wǎng)部分資源來(lái)源于會(huì)員上傳,除本網(wǎng)組織的資源外,版權(quán)歸原作者所有,如有侵犯版權(quán),請(qǐng)立刻和本網(wǎng)聯(lián)系并提供證據(jù),本網(wǎng)將在三個(gè)工作日內(nèi)改正