【单选题】利用分治算法求解问题的步骤有:
A. 通过递归寻求各个子问题的解 B. 将问题分解成若干简单的子问题 C. 合并各个子问题的解,从而得到原问题的解 D. 给出的选项都是
A. 通过递归寻求各个子问题的解 B. 将问题分解成若干简单的子问题 C. 合并各个子问题的解,从而得到原问题的解 D. 给出的选项都是
举一反三
- 动态规划算法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。( )
- 设问题P的输入规模是n,下述三个算法是求解P的不同的分治算法. __算法1:在常数时间将原问题划分为规模减半的5个子问题,递归求解每个子问题,最多用线性时间将子问题的解综合而得到原问题的解. __算法2:先递归求解2个规模为n-1的子问题,最多用常量时间将子问题的解综合得到原问题的解.
- 动态规划算法与分治法类似,其基本思想是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解,二者采用的都是自底向上的计算方式。
- 设问题P的输入规模是n,下述三个算法是求解P的不同的分治算法. 算法1:在常数时间将原问题划分为规模减半的5个子问题,递归求解每个子问题,最多用线性时间将子问题的解综合而得到原问题的解. 算法2:先递归求解2个规模为n-1的子问题,最多用常量时间将子问题的解综合得到原问题的解. 算法3:在常数时间将原问题划分为规模n/3的9个子问题,递归求解每个子问题,最多用时间将子问题的解综合得到原问题的解. 要求在上述三个算法中选择最坏情况下时间复杂度最低的算法,需要选择哪个算法?https://p.ananas.chaoxing.com/star3/origin/d42cf4fc49501f223442d7f3184b4555.png
- 设问题P的输入规模是n,下述三个算法是求解P的不同的分治算法. 算法1:在常数时间将原问题划分为规模减半的5个子问题,递归求解每个子问题,最多用线性时间将子问题的解综合而得到原问题的解. 算法2:先递归求解2个规模为n-1的子问题,最多用常量时间将子问题的解综合得到原问题的解. 算法3:在常数时间将原问题划分为规模n/3的9个子问题,递归求解每个子问题,最多用[img=53x28]18039e0e50c75e0.png[/img]时间将子问题的解综合得到原问题的解. 要求在上述三个算法中选择最坏情况下时间复杂度最低的算法,需要选择哪个算法? A: 1 B: 2 C: 3 D: 都不对