2015年408统考真题:不能构成折半查找中关键字比较序列的是

刚才看了知乎答主春秋两不沾关于《记录:408-2015年真题中问法很耐人寻味的题》的回答,我悟了。题干里写的是关键字比较序列(是mid序列,而不是关键字序列)意思是:这些数字是在被比较过程中选择的mid值。
解题思路应该是:
假设我们选择一个值x,此时在某一个关键字序列(ABCD四个选项)(有序的,假设递增)进行比较。
A选项:mid(1)=500,mid(2)=200,因此说明x在它的左侧,500>x>200;mid(3)=450,说明450>x>200;mid(4)=180,不可能。
B选项:mid(1)=500,mid(2)=450,说明x<450;mid(3)=200,mid(4)=180,说明x<180,这种顺序是可以的。
C选项:mid(1)=180,mid(2)=500,mid(3)=200,mid(4)=450;说明x>180,x<500,x>200,x<450这是成立的。
D选项交给你分析。
这个题的核心就在于理解关键字比较序列是mid序列,而不是关键字序列(有序的)
王道书里面选择的用排序树的定义去解答,为什么要是单分支呢?因为mid值每选择一次,它就会处在下一层当中,而mid关键字本身位于关键字序列当中,因此mid值也要符合二叉排序树的定义,即左根右(右根左),它们只是完整的二叉排序树当中一部分。
欢迎各位指正!