試卷征集
          加入會(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程序段如下:

            數(shù)組元素a(1)到a(10)的值依次為“12,15,18,20,25,39,47,88,90,99”,經(jīng)過上述代碼查找后,下列表達(dá)式正確的是(  )

            發(fā)布:2024/12/20 16:0:2組卷:5引用:2難度:0.5
          • 2.某數(shù)組d中的數(shù)據(jù)依次是[8,12,15,28,28,32,36,39],要查找某個(gè)元素是否在數(shù)組中,下列說法正確的是(  )

            發(fā)布:2024/12/20 0:0:1組卷:3引用:1難度:0.7
          • 3.有如下對(duì)分查找VB程序段:

            若數(shù)組元素a(1)~a(10)的值依次為“5,9,13,18,22,27,31,39,40,44”,運(yùn)行程序后,文本
            框Text2中顯示的內(nèi)容為3,則輸入的key值不可能為(  )

            發(fā)布:2024/12/20 20:0:2組卷:3引用:2難度:0.4
          APP開發(fā)者:深圳市菁優(yōu)智慧教育股份有限公司| 應(yīng)用名稱:菁優(yōu)網(wǎng) | 應(yīng)用版本:5.0.7 |隱私協(xié)議|第三方SDK|用戶服務(wù)條款
          本網(wǎng)部分資源來源于會(huì)員上傳,除本網(wǎng)組織的資源外,版權(quán)歸原作者所有,如有侵犯版權(quán),請(qǐng)立刻和本網(wǎng)聯(lián)系并提供證據(jù),本網(wǎng)將在三個(gè)工作日內(nèi)改正