第二章单元测试
  1. 递归函数是指在一个函数体中出现直接或间接调用该函数自身的函数。

  2. A:错 B:对
    答案:对
  3. 已知f(1)=1,f(n)=f(n-1)+n,那么f(50)的作用是( )。

  4. A:计算1到50的和。 B:计算1到50的乘积。 C:计算50个1的和。 D:计算斐波拉契数列的第50个元素的值。
    答案:计算1到50的和。
  5. 递归的优点包括( )。

  6. A:容易用数学归纳法来证明算法的正确性 B:结构清晰 C:可读性强 D:运行效率高
    答案:容易用数学归纳法来证明算法的正确性###结构清晰###可读性强
  7. 在经典的汉诺塔问题中,如果有5个圆盘需要从A柱移至C柱,最少需要移动( )步。

  8. A:28 B:41 C:31 D:32
    答案:31
  9. 分治法能解决的问题一般具有( )等特征。

  10. A:分解出的子问题的解可以合并为原问题的解 B:最优子结构 C:该问题缩小到一定程度时可以容易地解决 D:子问题相互独立
    答案:分解出的子问题的解可以合并为原问题的解###最优子结构###该问题缩小到一定程度时可以容易地解决###子问题相互独立
  11. 在使用分治法设计算法时,最好使子问题的规模大致相同,即将一个问题分成大小相等的多个子问题的处理方法是行之有效的。

  12. A:错 B:对
    答案:对
  13. 给定递归公式T(n)=4T(n/2)+O(n),由主定理可以得知T(n)=( )。

  14. A:O(nlogn) B:O(logn) C:O(n^2) D:O(n)
    答案:O(n^2)
  15. 已知某楼房共20层,如果采用二分查找,请问最多猜( )次就能猜出任意一个楼层。

  16. A:4 B:3 C:6 D:5
    答案:5
  17. 关于快速排序的时间复杂度,( )是正确的。

  18. A:在平均情况下时间复杂度为O(nlogn) B:在最坏情况下时间复杂度为O(n^2) C:在最好情况下时间复杂度为O(nlogn) D:在平均情况下时间复杂度为O(n^2)
    答案:在平均情况下时间复杂度为O(nlogn)###在最坏情况下时间复杂度为O(n^2)###在最好情况下时间复杂度为O(nlogn)
  19. 快速排序是对传统排序算法( )的一种改进。

  20. A:冒泡排序 B:选择排序 C:归并排序 D:插入排序
    答案:冒泡排序

温馨提示支付 ¥3.00 元后可查看付费内容,请先翻页预览!
点赞(4) dxwkbang
返回
顶部