MOOC数据结构与算法Python版-第五周测验

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/suxiaorui/article/details/102499490

1 单选(2分)

以下哪项不是递归的三定律之一?B

  • A.有一个基本结束条件

  • B.对函数运行结果进行缓存

  • C.能够不断减小问题规模

  • D.算法调用自身

2 单选(2分)

递归函数的实现与哪种数据结构直接相关?C

  • A.队列

  • B.无序表

  • C.栈

  • D.堆

3 单选(2分)

使用进制转换函数:

  1. def toStr2(n,base):
  2.     convertString='0123456789ABCDEF'
  3.     if n == 0:
  4.         return ''
  5.     return toStr2(n // base, base) + convertString[n % base]

将数字135转换为三进制“12000”的过程中,函数共被调用了多少次(包含初始调用)?A

  • A.6

  • B.4

  • C.3

  • D.5

4 单选(2分)

若定义实心等边三角形为0阶谢尔宾斯基三角,现给定一个边长为1的3阶谢尔宾斯基三角,请问它的面积更接近以下哪个数字?B

  • A.0.4330127
  • B.0.1826772

  • C.0.1370079

  • D.0.2435696

5 单选(2分)

以下是使用递归方式实现的圆括号匹配函数:

  1. def match(s, n=0):
  2.     if s:
  3.         if s[0] == '(':
  4.             n += 1
  5.         else:
  6.             n -= 1
  7.             if n < 0:
  8.                 return False
  9.         return match(s[1:], n)
  10.     else:
  11.         return n == 0

请问以下哪个输入中可能出现参数为match("((()))", 3)的函数调用?B

  • A."((()))"

  • B."(((()((()))"

  • C."()((()))"

  • D."((()))((("

6 多选(3分)

给定绘制分形树函数:

  1. def tree(branch_len):
  2.     t.pendown()
  3.     t.forward(branch_len)
  4.     t.penup()
  5.     if branch_len > 5:
  6.         t.left(20)
  7.         tree(branch_len - 5)
  8.         t.right(40)
  9.         tree(branch_len - 5)
  10.         t.left(20)
  11.     t.backward(branch_len)

其中t为海龟画笔对象。

在调用函数tree(50)时,下列哪些说法是正确的?CD

  • A.组成树的线段共511条

  • B.画线的长度总和为9150

  • C.树梢共512个

  • D.组成树的线段共1023条

7 多选(3分)

以下函数用于可用于求方程的近似解,其中参数f为一个输入、输出均为数字的函数

  1. def solve(f, x1, x2):
  2.     mid = (x1 + x2) / 2
  3.     if f(mid) == 0 or abs(x1 - x2) < 1e-8:
  4.         return # <A>
  5.     elif f(mid) * f(x1) > 0:
  6.         return # <B>
  7.     else:
  8.         return # <C>

如何补全该函数使其可以正常使用?BCD

  • A.

    C处应填:

    1. mid
  • B.

    A处应填:

    1. mid
  • C.

    B处应填:

    1. solve(f, x1, mid)
  • D.

    B处应填:

    1. solve(f, mid, x2)

8 多选(3分)

以下哪些问题可以用递归算法求解?AB

  • A.查找有序列表中某元素是否存在

  • B.求斐波那契数列第N项的值

  • C.图像、语义识别

  • D.绘制Mandelbrot集的图形

猜你喜欢

转载自blog.csdn.net/suxiaorui/article/details/102499490