● 斐波那契(Fibonacci)数列可以递归地定义为:?用递归算法求解F(5)时需要执行 (63) 次“+”运算,该方法采用的算法策略是 (64) 。(63)A. 5B. 6C. 7D. 8(64)A. 动态规划B. 分治C. 回溯D. 分支限界

题目

● 斐波那契(Fibonacci)数列可以递归地定义为:

?

用递归算法求解F(5)时需要执行 (63) 次“+”运算,该方法采用的算法策略是 (64) 。

(63)

A. 5

B. 6

C. 7

D. 8

(64)

A. 动态规划

B. 分治

C. 回溯

D. 分支限界


相似考题
参考答案和解析
正确答案:C,B
更多“● 斐波那契(Fibonacci)数列可以递归地定义为:?用递归算法求解F(5)时需要执行 (63) 次“+”运算,该方法采用的算法策略是 (64) 。(63)A. 5B. 6C. 7D. 8(64)A. 动态规划B. 分治C. 回溯D. 分支限界”相关问题
  • 第1题:

    ● 迪杰斯特拉(Dijkstra)算法按照路径长度递增的方式求解单源点最短路径问题,该算法运用了 (63) 算法策略

    (63)

    A. 贪心

    B. 分而治之

    C. 动态规划

    D. 试探+回溯


    正确答案:A

  • 第2题:

    与递归技术的联系最弱的是(64)算法策略。

    A.贪心

    B.回溯

    C.分治

    D.动态规划


    正确答案:A
    解析:贪心算法是一种不追求最优解,而是希望得到较为满意解的算法。该算法一般可以快速得到满意的解,因为它省去了为找最优解要穷尽所有可能而必须耗费大量的时间。由于贪心法不要回溯,因此贪心算法策略与递归技术的联系最弱。回溯算法也称为试探算法,该算法首先放弃关于问题规模大小的限制,并将问题的候选解按某种次序逐一枚举和检验。当发现当前候选解不可能是解时,就选自择下一个候选解,若当前候选解除了还不满足问题规模要求外,满足所有其他要求时,继续扩大当前候选解的规模,并继续试探。用回溯算法找解的算法常常被编写成递归函数。分治算法的基本思想是将原问题分解为若干个规模更小但结构与原问题相似的子问题。递归地解这些子问题,然后将这些子问题的解组合为原问题的解。对于具有最优子结构和重叠子问题的问题,可以用动态规划求解问题,求解过程中通常需要建立最优子结构的递归关系。

  • 第3题:

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

    A.先递归后递推

    B.先递推后递归

    C.递归

    D.递推


    正确答案:D

  • 第4题:

    迪杰斯特拉(Dijkstra)算法用于求解图上的单源点最短路径。本质上说,该算法是一种基于()策略的算法。

    A.分治

    B.动态规划

    C.贪心

    D.回溯


    正确答案:C

  • 第5题:

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

    (63)

    A.分治

    B.动态规划

    C.贪心

    D.回溯


    正确答案:A

  • 第6题:

    (接上一题)若定义问题的解空间,以深度优先的方式搜索解空间,则采用(65)算法设计策略。

    A.动态规划

    B.贪心

    C.回溯

    D.分支限界


    正确答案:C
    同上一题解析

  • 第7题:

    斐波那契(Fibonacci)数列可以递归地定义为:

    用递归算法求解F(5)时需要执行(63)次“+”运算,该方法采用的算法策略是(64)。

    A.5

    B.6

    C.7

    D.8


    正确答案:C

  • 第8题:

    斐波那契(Fibonacci)数列可以递归地定义为:

    用递归算法求解F(6)时需要执行(61)次“+”运算,该方法采用的算法策略是(62)。

    A.6

    B.7

    C.12

    D.13


    正确答案:C

  • 第9题:

    在求解某问题时,经过分析发现该问题具有最优子结构性质,求解过程中子问题被重复求解,则采用( )算法设计策略

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

    答案:B
    解析:
    分治法的设计思想是将一个难以直接解决的大问题分解成一些规模较少的相同问题以便各个击破,分而治之。
    动态规划法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。与分治法不同的是,适合于用动态规划法求解的问题,经分解得到的子问题往往不是独立的。若用分治法来解这类问题,则相同的子问题会被求解多次,以至于最后解决原问题需要耗费指数级时间。
    贪心法经常用于解决最优化问题,但他的最优往往是从局部最优来考虑的,每一步都选最优的方案,但这种方案不一定能得到整体上的最优解。回溯法是一种既带有系统性又带有跳跃性的搜索算法。它在包含问题的所有解的解空间树中,按照深度优先的策略,从根节点出发搜索解空间树。
    题目描述中提到,需要解决的问题具有最优子结构性质,且求解过程中子问题被重复求解,这种情况下如果采用分治法,效率会很低,所以应采用动态规划法。而“以深度优先的方式搜索解空间”则明显是在采用回溯法。

  • 第10题:

    数据结构里,斐波那契数列的递归实现方法,就会使用到栈。


    正确答案:正确

  • 第11题:

    判断题
    数据结构里,斐波那契数列的递归实现方法,就会使用到栈。
    A

    B


    正确答案:
    解析: 暂无解析

  • 第12题:

    单选题
    数据结构里,二叉树的遍历算法可以用()算法来实现,因为其定义是递归定义的。
    A

    递归

    B

    逆推

    C

    回溯

    D

    分治


    正确答案: A
    解析: 暂无解析

  • 第13题:

    算法策略与递归技术的联系最弱。

    A.动态规划

    B.贪心

    C.回溯

    D.分治


    正确答案:B
    解析:对于具有最优子结构和重叠子问题的问题,可以用动态规划求解问题,求解过程中通常需要建立最优子结构的递归关系。分治算法的基本思想是将原问题分解为若干个规模更小但结构与原问题相似的子问题。递归地解这些子问题,然后将这些子问题的解组合为原问题的解。回溯算法也称为试探算法,该算法首先放弃关于问题规模大小的限制,并将问题的候选解按某种次序逐一枚举和检验。当发现当前候选解不可能是解时,就选择下一个候选解,若当前候选解除了还不满足问题规模要求外,满足所有其他要求时,继续扩大当前候选解的规模,并继续试探。用回溯算法找解的算法常常被编写成递归函数。贪心算法是一种不追求最优解,而是希望得到较为满意解的方法。贪心算法一般可以快速得到满意的解,因为它省去了为找最优解要穷尽所有可能而必须耗费大量的时间。贪心法不要回溯。因此贪心算法策略与递归技术的联系最弱。

  • 第14题:

    ●将数组{1,1,2,4,7,5}从小到大排序,若采用(62)排序算法,则元素之间需要进行的比较次数最少,共需要进行(63)次元素之间的比较。

    (62)A.直接插入

    B.归并

    C.堆

    D.快速

    (63)A. 5

    B. 6

    C. 7

    D. 8


    正确答案:A,B

  • 第15题:

    与递归技术的联系最弱的是(42)算法策略。

    A.分治

    B.回溯

    C.贪心

    D.动态规划


    正确答案:C
    解析:分治算法的基本思想是将原问题分解为若干个规模更小但结构与原问题相似的子问题。递归求解这些子问题,然后将这些子问题的解组合为原问题的解。回溯算法也称为试探算法,该算法首先放弃关于问题规模大小的限制,并将问题的候选解按某种次序逐一枚举和检验。当发现当前候选解不可能是解时,就选择下一个候选解,若当前候选解除了还不满足问题规模要求外,满足所有其他要求时,继续扩大当前候选解的规模,并继续试探。用回溯算法找解的算法常常被编写成递归函数。贪心算法是一种不追求最优解,而是希望得到较为满意解的方法。贪心算法一般可以快速得到满意的解,因为它省去了为找最优解要穷尽所有可能而必须耗费大量的时间。由于贪心算法不要回溯,因此贪心算法策略与递归技术的联系最弱。对于具有最优子结构和重叠子问题的问题,可以用动态规划求解问题,求解过程中通常需要建立最优子结构的递归关系。

  • 第16题:

    迪杰斯特拉(Dijkstra)算法按照路径长度递增的方式求解单源点最短路径问题,该算法运用了(63)算法策略。

    A.贪心

    B.分而治之

    C.动态规划

    D.试探+回溯


    正确答案:A
    解析:本题考查最短路径问题。贪心算法通过一系列的选择得到问题的解。它所做出的每一次选择是当前状态下局部最优选择,即贪心选择。分治法的基本思想是把大问题分解成一些较小的问题,然后由小问题的解方便地构造出大问题的解。动态规划策略设计算法利用问题的最优子结构性质,以自底向上的方式递归地从子问题的最优解逐步构造出整个问题的最优解。回溯法也称为试探法,该方法首先暂时放弃关于问题规模大小的限制,并将问题的候选解按某种顺序逐一枚举和检验。迪杰斯特拉(Dijkstra)提出的按路径长度递增的次序产生最短路径的算法,其思想是把网中所有的顶点分成两个集合S和T,S集合的初态只包含顶点v0,T集合的初态为网中除v0之外的所有顶点。凡以v0为源点,已经确定了最短路径的终点并入S集合中;顶点集合厂则是尚未确定最短路径的顶点的集合。按各顶点与v0间最短路径长度递增的次序,逐个把T集合中的顶点加入到S集合中去,使得从v0到S集合中各顶点的路径长度始终不大于从v0到了集合中各顶点的路径长度。从迪杰斯特拉算法求最短路径的过程可知,其算法策略属于贪心策略。

  • 第17题:

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

    (63)

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

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

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

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


    正确答案:A

  • 第18题:

    若一个问题既可以用迭代方式也可以用递归方式求解,则(64)方法具有更高的时空效率。

    A.迭代

    B.先迭代后递归

    C.递归

    D.先递归后迭代


    正确答案:A
    解析:本题考查法代和递归算法。递归是设计和描述算法的一种有力的工具。能采用递归描述的算法通常有这样的特征:为求解规模为N的问题,设法将它分解成一些规模较小的问题,然后从这些小问题的解方便地构造出大问题的解,并且这些规模较小的问题也能采用同样的分解和综合方法,分解成规模更小的问题,并从这些更小问题的解构造出规模稍大问题的解。特别地,当规模 N=1时,能直接得到解。由于递归函数执行过程中引起一系列的函数调用和返回,需要较多的时间开销(控制转移和存储空间管理操作所需的时间)及空间开销(每一次调用时为函数中的形式参数和自动局部变量分配存储空间等),因此与实现相同功能的非递归函数相比,运行效率较低。

  • 第19题:

    迪杰斯特拉(Dijkstra)算法按照路径长度递增的方式求解单源点最短路径问题,该算法运用了(62)算法策略。

    A.贪心

    B.分治

    C.动态规划

    D.试探+回溯


    正确答案:A
    解析:本题考查最短路径问题。贪心算法通过一系列的选择得到问题的解。它所做出的每一次选择是当前状态下局部最优选择,即贪心选择。分治法的基本思想是把大问题分解成一些较小的问题,然后由小问题的解方便地构造出大问题的解。动态规划策略设计算法利用问题的最优子结构性质,以自底向上的方式递归地从子问题的最优解逐步构造出整个问题的最优解。回溯法也称为试探法,该方法首先暂时放弃关于问题规模大小的限制,并将问题的候选解按某种顺序逐一枚举和检验。迪杰斯特拉(Dijkstra)提出的按路径长度递增的次序产生最短路径的算法,其思想是把网中所有的顶点分成两个集合S和T,S集合的初态只包含顶点v0,T集合的初态为网中除v0之外的所有顶点。凡以v0为源点,已经确定了最短路径的终点并入S集合中;顶点集合T则是尚未确定最短路径的顶点的集合。按各顶点与v0间最短路径长度递增的次序,逐个把T集合中的顶点加入到S集合中去,使得从v0到S集合中各顶点的路径长度始终不大于从v0到T集合中各顶点的路径长度。从迪杰斯特拉算法求最短路径的过程可知,其算法策略属于贪心策略。

  • 第20题:

    在求解某问题时,经过分析发现该问题具有最优子结构性质,若定义问题的解空间,以深度优先的方式搜索解空间,则采用( )算法设计策略。

    A.动态规划
    B.贪心
    C.回溯
    D.分支限界

    答案:C
    解析:
    分治法的设计思想是将一个难以直接解决的大问题分解成一些规模较少的相同问题以便各个击破,分而治之。
    动态规划法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。与分治法不同的是,适合于用动态规划法求解的问题,经分解得到的子问题往往不是独立的。若用分治法来解这类问题,则相同的子问题会被求解多次,以至于最后解决原问题需要耗费指数级时间。
    贪心法经常用于解决最优化问题,但他的最优往往是从局部最优来考虑的,每一步都选最优的方案,但这种方案不一定能得到整体上的最优解。
    回溯法是一种既带有系统性又带有跳跃性的搜索算法。它在包含问题的所有解的解空间树中,按照深度优先的策略,从根节点出发搜索解空间树。
    题目描述中提到,需要解决的问题具有最优子结构性质,且求解过程中子问题被重复求解,这种情况下如果采用分治法,效率会很低,所以应采用动态规划法。而“以深度优先的方式搜索解空间”则明显是在采用回溯法。

  • 第21题:

    汉诺塔问题可以用递归解决,以下也可用递归实现的是()

    • A、求1-n的和
    • B、求n的阶乘
    • C、斐波那契数列
    • D、n^k(^表示幂)

    正确答案:A,B,C,D

  • 第22题:

    数据结构里,二叉树的遍历算法可以用()算法来实现,因为其定义是递归定义的。

    • A、递归
    • B、逆推
    • C、回溯
    • D、分治

    正确答案:A

  • 第23题:

    多选题
    汉诺塔问题可以用递归解决,以下也可用递归实现的是()
    A

    求1-n的和

    B

    求n的阶乘

    C

    斐波那契数列

    D

    n^k(^表示幂)


    正确答案: C,D
    解析: 暂无解析