问题
单项选择题
在有n个无序无重复元素值的数组中查找第i小的数的算法描述如下:任意取一个元素r,用划分操作确定其在数组中的位置,假设元素r为第k小的数。若i等于k,则返回该元素值;若i小于k,则在划分的前半部分递归进行划分操作找第i小的数;否则在划分的后半部分递归进行划分操作找第k-i小的数。该算法是一种基于()策略的算法。
A.分治
B.动态规划
C.贪心
D.回溯
答案
参考答案:A
解析:分治算法的基本思想是将一个难以直接解决的大问题分解成一些规模较小的小问题以便各个击破,分而治之。分治算法的每一层都有3个步骤:分解、求解和合并。本题的查找算法,不断划分数组,缩小查找范围,可见该算法是基于分治策略的算法。