(2013年上半年上午试题62、63)给定n个整数构成的数组A={a1,a2,……,an}和整数x,判断A中是否存在两个元素ai和aj,使得ai+aj=x。为了求解问题,首先用归并排序算法对数组A进行从大到小排序;然后判断是否存在ai+aj=x,具体的方法

admin2021-01-13  40

问题 (2013年上半年上午试题62、63)给定n个整数构成的数组A={a1,a2,……,an}和整数x,判断A中是否存在两个元素ai和aj,使得ai+aj=x。为了求解问题,首先用归并排序算法对数组A进行从大到小排序;然后判断是否存在ai+aj=x,具体的方法如下列伪代码所示。则求解该问题时排序算法应用了________(62)算法设计策略,整个算法的时间复杂度为_____(63)。
i=1;j=n
while i<j
  If  ai+aj=x  return true
    Else if ai+aj>x
    J--;
    Else
    I++;
    Return false;
(62)

选项 A、分治
B、贪心
C、动态规划
D、回溯

答案A

解析 分治算法的基本思想是将一个规模为n的问题分解为k个规模较小的子问题,这些子问题相互独立且与原问题性质相同。求出子问题的解,就可得到原问题的解。
转载请注明原文地址:https://kaotiyun.com/show/QtCZ777K
0

相关试题推荐
最新回复(0)