第一章 神秘算法的序幕

考考算法小常识

1、单选题:
‍当输入规模为n时,下列算法渐进复杂性中最低的是‏
选项:
A: 5n
B:
C:
D: n!
答案: 【 5n

2、单选题:
‎下面( )不是算法所必须具备的特性‎
选项:
A: 有穷性
B: 确切性
C: 高效性
D: 可行性
答案: 【 高效性

3、判断题:
‎算法的复杂性是算法效率的度量,是评价算法优劣的重要依据。‎
选项:
A: 正确
B: 错误
答案: 【 正确

4、判断题:
​算法就是一组有穷的规则 ,它们规定了解决某一特定类型问题的 一系列运算。‌
选项:
A: 正确
B: 错误
答案: 【 正确

5、判断题:
​计算机的资源最重要的是内存和运算资源。因而,算法的复杂性有时间和空间之分。‍
选项:
A: 正确
B: 错误
答案: 【 正确

6、判断题:
‎在一般情况下,一个算法的时间复杂度是问题规模的函数‍
选项:
A: 正确
B: 错误
答案: 【 正确

7、判断题:
​设待处理问题的规模为n,若一个算法的时间复杂度为一个常数,则表示成数量级的形式为O(n)‌
选项:
A: 正确
B: 错误
答案: 【 错误

第二章 自己玩自己-递归

哈哈,几道小题考倒你

1、单选题:
‏Hanoi塔问题:要求将塔座A上的的所有n圆盘移到塔座B上,借助塔座C,并仍按同样顺序叠置。移动圆盘时遵守Hanoi塔问题的移动规则。由此设计出解Hanoi塔问题的递归算法正确的为:‍
选项:
A: void hanoi(int n, int A, int C, int B)   {       if (n > 0)       {          hanoi(n-1,A,C, B);          move(n,a,b);          hanoi(n-1, C, B, A);       }
B: void hanoi(int n, int A, int B, int C)   {       if (n > 0)       {          hanoi(n-1, A, C, B);          move(n,a,b);          hanoi(n-1, C, B, A);       }
C: void hanoi(int n, int C, int B, int A)   {       if (n > 0)       {          hanoi(n-1, A, C, B);          move(n,a,b);          hanoi(n-1, C, B, A);       }
D: void hanoi(int n, int C, int A, int B)   {       if (n > 0)       {          hanoi(n-1, A, C, B);          move(n,a,b);          hanoi(n-1, C, B, A);       }   }
答案: 【 void hanoi(int n, int A, int B, int C)   {       if (n > 0)       {          hanoi(n-1, A, C, B);          move(n,a,b);          hanoi(n-1, C, B, A);       }

剩余75%内容付费后可查看

发表评论

电子邮件地址不会被公开。 必填项已用*标注