有如下python程序段:
key=int(input(“請輸入待查數(shù)據(jù):“))
b=[5,8,11,21,21,21,56,65,72]
i=0;j=len(b)-1;x=“”
while i<=j:
m=(i+j)//2
if key<b[m]:
j=m-1;x=x+“L“
else:
i=m+1;x=x+“R“
※假如輸入的值是5,執(zhí)行以上代碼后x的值為 LLRLLR,i值是 11,j值是 00。
※假如輸入的值是9,執(zhí)行以上代碼后x的值為 LRLLRL,i值是 22,j值是 11。
※假如輸入的值是11,執(zhí)行以上代碼后x的值為 LRRLLRRL,i值是 33,j值是 22。
※假如輸入的值是21,執(zhí)行以上代碼后x的值為 RLRRLR。
變量i和j有什么特殊含義 循環(huán)結(jié)束時(shí)i的值為key的值在列表b中最接近比key值大的數(shù)所在的列標(biāo)位置,j的值比i小1循環(huán)結(jié)束時(shí)i的值為key的值在列表b中最接近比key值大的數(shù)所在的列標(biāo)位置,j的值比i小1。
※假如輸入的值是35,執(zhí)行以上代碼后x的值為 RLRRLR,i值是 66,j值是 55。
※假如輸入的值是56,執(zhí)行以上代碼后x的值為 RRLRRL,i值是 77,j值是 66。
※假如輸入的值是68,執(zhí)行以上代碼后x的值為 RRRLRRRL,i值是 88,j值是 77。
※假如輸入的值是72,執(zhí)行以上代碼后x的值為 RRRRRRRR,i值是 99,j值是 88。
【考點(diǎn)】查找算法及其程序?qū)崿F(xiàn).
【答案】LLR;1;0;LRL;2;1;LRRL;3;2;RLR;循環(huán)結(jié)束時(shí)i的值為key的值在列表b中最接近比key值大的數(shù)所在的列標(biāo)位置,j的值比i小1;RLR;6;5;RRL;7;6;RRRL;8;7;RRRR;9;8
【解答】
【點(diǎn)評】
聲明:本試題解析著作權(quán)屬菁優(yōu)網(wǎng)所有,未經(jīng)書面同意,不得復(fù)制發(fā)布。
發(fā)布:2024/6/27 10:35:59組卷:0引用:1難度:0.3
相似題
-
1.某對分查找算法的VB程序段如下:
數(shù)組元素a(1)到a(10)的值依次為“12,15,18,20,25,39,47,88,90,99”,經(jīng)過上述代碼查找后,下列表達(dá)式正確的是( ?。?/h2>發(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ù)組中,下列說法正確的是( ?。?/h2>
發(fā)布:2024/12/20 0:0:1組卷:3引用:1難度:0.7 -
3.有如下對分查找VB程序段:
若數(shù)組元素a(1)~a(10)的值依次為“5,9,13,18,22,27,31,39,40,44”,運(yùn)行程序后,文本
框Text2中顯示的內(nèi)容為3,則輸入的key值不可能為( ?。?/h2>發(fā)布:2024/12/20 20:0:2組卷:3引用:2難度:0.4
把好題分享給你的好友吧~~