首页 > 试题广场 >

下列选项中,不能构成二分查找中关键字比较序列的是

[单选题]
下列选项中,不能构成二分查找中关键字比较序列的是
  • 510,210,460,190
  • 510,460,210,190
  • 170,500,200,440
  • 170,200,500,440
【初看题目内心OS:二分查找的数组不是应该有序吗?难道我记忆力错乱了?】
正儿八经分割线******************************************************************************
题目“关键字比较?!”,分析如下:
A. 510,210,460,190
第一个关键字是510,而第二个关键字是210,证明第一次取值范围是关键字500的左半部分(默认从小到大排序,左半部分的值小于500而右半部分的值大于500),第三个关键字是460,显然大于210,证明第二次的取值范围是[210,500],第四个关键字是190,显然190不属于[210,500]范围内,逻辑错误,故选择A。
B. 510,460,210,190
第一个关键字是510,而第二个关键字是460,证明第一次取值范围是关键字500的左半部分(默认从小到大排序,左半部分的值小于500而右半部分的值大于500),第三个关键字是210,证明第二次的取值范围是460的左半部分,第四个关键字是190,证明第三次的取值范围是210的左半部分,逻辑正确。
C. 170,500,200,440
第一个关键字是170,而第二个关键字是500,证明第一次取值范围是关键字170的右半部分(默认从小到大排序,左半部分的值小于170而右半部分的值大于170),第三个关键字是200,证明第二次的取值范围[170,500],第四个关键字是440,显然440是属于[170,500]的范围内,逻辑正确。
D. 170,200,500,440
第一个关键字是170,而第二个关键字是200,证明第一次取值范围是关键字170的右半部分(默认从小到大排序,左半部分的值小于170而右半部分的值大于170),第三个关键字是500,证明第二次的取值范围是200的右半部分,第四个关键字是440,证明第三次的取值范围是[200,500],逻辑正确。

发表于 2019-09-03 21:21:38 回复(1)
选项A,510<210,代表他选的510左边的,则后面应该都比510小,看一下,210,460,190都满足,ok。再看210小于460,代表他选的210右边的,后面的数都要大于210才对,460满足,190就错了。
B、c、d同理
发表于 2021-01-09 20:12:03 回复(0)