#p1001. GESP六级第三次练习题单

GESP六级第三次练习题单

  1. 青蛙每次能跳1或2步。下面是青蛙跳到第 N 步台阶C++实现代码。该段代码采用的算法是( )。 image

{{ select(1) }}

  • 递推算法
  • 贪心算法
  • 动态规划算法
  • 分治算法
  1. 下面的 fiboA() 和 fiboB() 两个函数分别实现斐波那契数列,该数列第 1项、第 2 项值为 1,其余各项分别为前两项之和。下面有关说法错误的是( ) {{ select(2) }}

    image

  • fiboA() 采用递归方式实现斐波那契数列
  • fiboB() 采用动态规划算法实现斐波那契数列
  • 当 N 值较大时, fiboA() 存在大量重复计算
  • 由于 fiboA() 代码较短 ,其执行效率较高
  1. 以下动态规划算法的含义与目的是( )。{{ select(3) }}

    image

  • 计算数组 nums 中的所有元素的和
  • 计算数组 nums 中相邻元素的最大和
  • 计算数组 nums 中不相邻元素的最大和
  • 计算数组 nums 中的最小元素
  1. 阅读以下广度优先搜索的代码:

image

使用以上算法遍历以下这棵树,可能的输出是( )。

image {{ select(4) }}

  • 1 2 8 9 4 5 3 6 7 10 11
  • 1 2 3 4 5 6 7 8 9 10 11
  • 1 2 3 8 9 6 4 5 7 10 11
  • 1 2 3 8 9 4 5 6 7 10 11
  1. 在求解最优化问题时,动态规划常常涉及到两个重要性质,即最优子结构和( )。{{ select(5) }}
  • 重叠子问题
  • 分治法
  • 贪心策略
  • 回溯算法
  1. 在求解最优化问题时,动态规划常常涉及到两个重要性质,即最优子结构和( )。

{{ select(6) }}

  • 重叠子问题
  • 分治法
  • 贪心策略
  • 回溯算法
  1. 青蛙每次能跳1或2步,下面代码计算青蛙跳到第n步台阶有多少种不同跳法。则下列说法,错误的是( )。 image {{ select(7) }}
  • 函数jump_recur()采用递归方式。
  • 函数jump_dp()采用动态规划方法。
  • 当n较大时,函数jump_recur()存在大量重复计算,执行效率低。
  • 函数jump_recur()代码量小,执行效率高。
  1. 阅读以下二叉树的广度优先搜索代码: image

使用以上算法,在以下这棵树搜索数值20时,可能的输出是( )。

image

{{ select(8) }}

  • 5 2 -4 3 17 9
  • -4 2 3 5 9 17
  • 5 2 17 -4 3 9
  • 以上都不对
  1. 同上题中的二叉树,阅读以下二叉树的深度优先搜索代码

image

使用以上算法,在二叉树搜索数值20时,可能的输出是( )。 {{ select(9) }}

  • 5 2 -4 3 17 9
  • -4 2 3 5 9 17
  • 5 2 17 -4 3 9
  • 以上都不对
  1. 在上题的树中搜索数值3时,采用深度优先搜索一共比较的节点数为( ) {{ select(10) }}
  • 2
  • 3
  • 4
  • 5
  1. 深度优先搜索(DFS,Depth First Search 的简写)属于图算法,其过程是对每⼀个可能的分支路径深⼊到不能再深⼊为止,而且每个节点只能访问⼀次。() {{ select(11) }}
  • 正确
  • 错误
  1. 在动态规划中,状态转移方程的作用是定义状态之间的关系。 {{ select(12) }}
  • 正确
  • 错误
  1. 在宽度优先搜索中,通常使用队列来辅助实现。 {{ select(13) }}
  • 正确
  • 错误
  1. 在深度优先搜索中,通常使用队列来辅助实现。( ) {{ select(14) }}
  • 正确
  • 错误
  1. 对0-1背包问题,贪心算法一定能获得最优解。()

{{ select(15) }}

  • 正确
  • 错误