排序和查找是常用的计算机算法。按照要求完成下题: (1)对数组A={15,9,115,118,3,90,27,25,5},使用合并排序方法将其排成递减序。 (2)若改变二分搜索法为三分搜索法,即从一个递减序列A中寻找元素Z,先与元素
比较,若比较,若
,则在前面[n/3]个元素中寻找Z;否则与
比较,总之使余下的序列为[n/3]个元素。给出该方法的伪代码描述。 (3)使用上述算法对(1)所得到的结果搜索如下元素,并给出搜索过程:118,31,25。
正确答案:

(3)搜索118:118>27,所以right=3;118>115,所以right=1;118=118,找到。
搜索31:31>27,所以right=3;31<90,所以left=4,结束,未找到。
搜索25:9<25<27,所以left=5,right=6;25=25,找到。

(3)搜索118:118>27,所以right=3;118>115,所以right=1;118=118,找到。
搜索31:31>27,所以right=3;31<90,所以left=4,结束,未找到。
搜索25:9<25<27,所以left=5,right=6;25=25,找到。
答案解析:有

微信扫一扫手机做题
