試卷征集
加入會(huì)員
操作視頻

有如下python程序段:
key=int(input(“請(qǐng)輸入待查數(shù)據(jù):“))
b=[5,8,11,21,21,21,56,65,72]
i=0;j=len(b)-1
while i<=j:
m=(i+j)//2
if  key<=b[m]:
j=m-1
else:
i=m+1
※假如輸入的值是5,按照提示執(zhí)行代碼:
在進(jìn)入while循環(huán)前i初值是
0
0
,j初值是
8
8
,key值是
5
5

第一次循環(huán)執(zhí)行后,m值是
4
4
,b[m]值是
21
21
,i值是
0
0
,j值是
3
3

第二次循環(huán)執(zhí)行后,m值是
1
1
,b[m]值是
8
8
,i值是
0
0
,j值是
0
0
。
第三次循環(huán)執(zhí)行后,m值是
0
0
,b[m]值是
5
5
,i值是
1
1
,j值是
0
0

是否找到
(選填:是/否),找到了是否立即退出循環(huán)
(選填:是/否),總共查找了
3
3
次,執(zhí)行以上代碼退出循環(huán)時(shí),i與j關(guān)系的python表達(dá)式可以是
i=j+1
i=j+1
、
j=i-1
j=i-1
。
※假如輸入的值是9,按照提示執(zhí)行代碼:
在進(jìn)入while循環(huán)前i初值是
0
0
,j初值是
8
8
,key值是
9
9

第一次循環(huán)執(zhí)行后,m值是
4
4
,b[m]值是
21
21
,i值是
0
0
,j值是
3
3
。
第二次循環(huán)執(zhí)行后,m值是
1
1
,b[m]值是
8
8
,i值是
2
2
,j值是
3
3
。
第三次循環(huán)執(zhí)行后,m值是
2
2
,b[m]值是
11
11
,i值是
2
2
,j值是
1
1

是否找到
(選填:是/否),是否需要繼續(xù)查找
(選填:是/否),總共查找了
3
3
次,執(zhí)行以上代碼退出循環(huán)時(shí),i與j關(guān)系的python表達(dá)式可以是
i=j+1
i=j+1
j=i-1
j=i-1
。
※假如輸入的值是21,按照提示執(zhí)行代碼:
在進(jìn)入while循環(huán)前i初值是
0
0
,j初值是
8
8
,key值是
21
21

第一次循環(huán)執(zhí)行后,m值是
4
4
,b[m]值是
21
21
,i值是
5
5
,j值是
8
8

是否找到
(選填:是/否),是否需要繼續(xù)查找
(選填:是/否)。
第二次循環(huán)執(zhí)行后,m值是
6
6
,b[m]值是
56
56
,i值是
5
5
,j值是
5
5
。
第三次循環(huán)執(zhí)行后,m值是
5
5
,b[m]值是
21
21
,i值是
6
6
,j值是
5
5
。
第四次循環(huán)執(zhí)行后,m值是
5
5
,b[m]值是
21
21
,i值是
6
6
,j值是
5
5
。
是否找到
(選填:是/否),找到了是否立即退出循環(huán)
(選填:是/否),總共查找了
3
3
次,執(zhí)行以上代碼退出循環(huán)時(shí),i與j關(guān)系的python表達(dá)式可以是
i=j+1
i=j+1
、
j=i-1
j=i-1
。
變量i和j有什么特殊含義
循環(huán)結(jié)束時(shí)i的值為key的值在列表b中最接近比key值大的數(shù)所在的列標(biāo)位置,i的值比j大1
循環(huán)結(jié)束時(shí)i的值為key的值在列表b中最接近比key值大的數(shù)所在的列標(biāo)位置,i的值比j大1
。

【答案】0;8;5;4;21;0;3;1;8;0;0;0;5;1;0;是;是;3;i=j+1;j=i-1;0;8;9;4;21;0;3;1;8;2;3;2;11;2;1;是;否;3;i=j+1;j=i-1;0;8;21;4;21;5;8;否;是;6;56;5;5;5;21;6;5;5;21;6;5;是;是;3;i=j+1;j=i-1;循環(huán)結(jié)束時(shí)i的值為key的值在列表b中最接近比key值大的數(shù)所在的列標(biāo)位置,i的值比j大1
【解答】
【點(diǎn)評(píng)】
聲明:本試題解析著作權(quán)屬菁優(yōu)網(wǎng)所有,未經(jīng)書面同意,不得復(fù)制發(fā)布。
發(fā)布:2024/6/27 10:35:59組卷:0引用:1難度:0.7
相似題
  • 1.某對(duì)分查找算法的VB 程序段如下:
    菁優(yōu)網(wǎng)
    數(shù)組元素a(1)到a(10)的值依次為“10,12,14,17,19,20,20,27,29,32”。在文本框Textl
    中輸入12,執(zhí)行該程序段后,以下變量值正確的是(  )

    發(fā)布:2024/11/14 8:1:13組卷:0引用:1難度:0.4
  • 2.二分查找又稱折半查找,是一種應(yīng)用于有序數(shù)列的高效查找算法。下列數(shù)列中適合二分查找算法的是( ?。?/h2>

    發(fā)布:2024/11/14 11:30:2組卷:12引用:6難度:0.4
  • 3.二分查找算法是利用( ?。?shí)現(xiàn)的算法。

    發(fā)布:2024/11/14 20:30:1組卷:4引用:1難度: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)改正