分治算法设计技术()A、一般由三个步骤组成:问题划分、递归求解、合并解B、一定是用递归技术来实现C、将问题划分为k个规模相等的子问题D、划分代价很小而合并代价很大

题目

分治算法设计技术()

  • A、一般由三个步骤组成:问题划分、递归求解、合并解
  • B、一定是用递归技术来实现
  • C、将问题划分为k个规模相等的子问题
  • D、划分代价很小而合并代价很大
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

若一个问题的求解既可以用递归算法,也可以用递推算法,则往往用(14)算法,因为(15)。

A.先递归后递推

B.先递推后递归

C.递归

D.递推


正确答案:D

第2题:

算法是为解决某个问题而设计的步骤和方法。以下关于算法的叙述中,不正确的是______。

A.解决同一个问题,不同的人(甚至是同一个人)可能会写出几种不同的算法
B.常用算法主要有迭代法、穷举搜索法、递推法、递归法、贪婪法、回溯法等
C.递推法是利用所解问题本身所具有的递推关系来求得问题解的一种算法
D.任何可以用递推法解决的问题,亦可用递归法解决,反之亦然

答案:D
解析:
本题考查关于算法方面的基础知识。算法是为解决某个问题而设计的步骤和方法,有了算法,就可以据此编写程序。常用算法主要有迭代法、穷举搜索法、递推法、递归法、贪婪法、回溯法等。解决同一个问题,不同的人(甚至是同一个人)可能会写出几种不同的算法,但算法有优劣之分。递推法是利用所解问题本身所具有的递推关系来求得问题解的一种算法。递推法与递归法的关系是,任何可以用递推法解决的问题,可以很方便的用递归法写出程序解决。反之,许多用递归法解决的问题不能用递推法解决。这是因为递归法利用递归时的压栈,可以有任意长度和顺序的前效相关性,这是递推法所不具备的。

第3题:

●若一个问题的求解既可以用递归算法,也可以用递推算法,则往往用 (26) 算法,因为 (27) 。

(26) A.先递归后递推

B.先递推后递归

C.递归

D.递推

(27) A.递推的效率比递归高

B.递归宜于问题分解

C.递归的效率比递推高


正确答案:D,A
【解析】递推算法是一种常用算法,它的基本思想是:对本身具有递推关系的问题,其初始解已知或者很容易得到,然后从i=0开始,逐级从i=0,1,2,…进行递推,每次是从上一次递推的结果开始,利用递推关系,求出下一次的递推的结果,直到符合要求为止。递归算法相对递推算法要复杂得多。递归算法中是递推分解问题,然后再将最简单情况的解回归成大问题的解决。由于递归会引起一系列函数调用,有不少重复计算,其执行的效率也较低。
因此,若某问题既能用递归算法求解,又能用递推算法求解时,常常是使用递推方法求解要容易,效率高得多。

第4题:

在有n个无序无重复元素值的数组中查找第i小的数的算法描述如下:任意取一个元素r,用划分操作确定其在数组中的位置,假设元素r为第k小的数。若i等于k,则返回该元素值;若i小于k,则在划分的前半部分递归进行划分操作找第i小的数;否则在划分的后半部分递归进行划分操作找第k-i小的数。该算法是一种基于()策略的算法。

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

正确答案:A

第5题:

蜗牛爬井问题不属于()类型算法解决的问题。

  • A、迭代问题
  • B、递归问题
  • C、分治问题
  • D、穷举问题

正确答案:B,C,D

第6题:

●分治算法设计技术 (63)。

(63)

A.一般由三个步骤组成:问题划分、递归求解、合并解

B.一定是用递归技术来实现

C.将问题划分为k个规模相等的子问题

D.划分代价很小而合并代价很大


正确答案:A

第7题:

数据结构与算法中,折纸问题、修公路、剪绳子、蜗牛爬井问题是一类()算法解决的问题。

  • A、递归
  • B、穷举
  • C、迭代
  • D、分治

正确答案:C

第8题:

设计一个递归问题的非递归算法通常需要设置()结构。

A、线性表

B、数组

C、堆栈

D、队列


参考答案:C

第9题:

使用分治法求解不需要满足的条件是()。

  • A、子问题必须是一样的
  • B、子问题不能够重复
  • C、子问题的解可以合并
  • D、原问题和子问题使用相同的方法解

正确答案:A

第10题:

若一个问题的求解既可以用递归算法,也可以用递推算法,则往往用__(1)__算法,因为__(2)__。空白(1)处应选择()

  • A、先递归后递推
  • B、先递推后递归
  • C、递归
  • D、递推

正确答案:D

更多相关问题