Multi-Choice Questions
- ____是一步一步解决问题或完成任务的方法。
a.结构体 b.递归 c.迭代 d.算法
- 在处理开始之前给变量赋值,称为____变量。
a.构造 b.迭代 c.初始化 d.增量
- 在计算机科学里有____种基本结构。
a.1 b.2 c.3 d.4
- ____结构用于测试条件。
a.顺序 b.判断 c.循环 d.逻辑
- ____结构用于表示任何动作。
a.顺序 b.判断 c.循环 d.逻辑
- ____结构用于处理重复的动作。
a.顺序 b.判断 c.循环 d.逻辑
- ____是算法的图形化表示。
a.流程图 b.结构图 c.伪代码 d.算法
- ____是一种用类似英语语言来表示代码的表示方法。
a.流程图 b.结构图 c.伪代码 d.算法
- ____是一种高层设计工具用来表现程序各模块间关系的工具。
a.流程图 b.结构图 c.伪代码 d.算法
- 子算法又称为____。
a.函数 b.子例程 c.模块 d.以上都是
- ____是一种用来计算一组数据乘积的基本算法。
a.求和 b.乘积 c.最小 d.最大
- ____是一种根据数据值大小进行排列的基本算法。
a.查询 b.排序 c.查找 d.递归
- ____是一种累加一组数据的基本算法。
a.求和 b.乘积 c.最小 d.最大
- ____是一种在一组数据中寻找最小值的算法。
a.求和 b.乘积 c.取最小 d.取最大
- 在____排序中,数据项被分成两个列表:有序表和无序表。
a.选择 b.冒泡 c.插入 d.以上都是
- 在____排序中,需要n-1次扫描才能完成排序。
a.选择 b.冒泡 c.插入 d.以上都是
- 在____排序中,需要两重循环。
a.选择 b.冒泡 c.插入 d.以上都是
- 在____排序中,进入有序列表的数据总是无序列表中的第一个元素。
a.选择 b.冒泡 c.插入 d.以上都是
- 在____排序中,将无序列表中的最小元素与无序列表中的起始元素进行交换。
a.选择 b.冒泡 c.插入 d.以上都是
- 在____排序中将最小的元素移到无序列表的起始位置,且没有一对一的交换。
a.选择 b.冒泡 c.插入 d.以上都是
- ____是用于在数据列表中确定目标数据位置的一种基本算法。
a.排序 b.查找 c.乘积 d.求和
- 对于无序列表使用____查找。
a.顺序 b.折半 c.冒泡 d.插入
- 对于有序列表使用____查找。
a.顺序 b.折半 c.冒泡 d.插入
- ____是一种算法自我调用的过程。
a.插入 b.查找 c.递归 d.迭代
Exercises
41. 给出下图中(书上是图8-11)的乘积算法的伪代码.
42. 画出从N个数中寻找最小数的流程图.
43. 写出练习42中的求最小值算法的伪代码.
44. 画出从N个数中寻找最大数的流程图.
45. 写出练习44中的求最大值算法的伪代码.
47. 画出冒泡排序算法的流程图并写出其伪代码.
48. 画出插入排序算法的流程图并写出其伪代码.
49. 使用选择排序算法,手工排序下列数据列表并给出每次扫描所做的工作.
14 7 23 31 40 56 78 9 2
50. 使用冒泡排序算法,手工排序下列数据列表并给出每次扫描所做的工作.
14 7 23 31 40 56 78 9 2
51. 使用插入排序算法,手工排序下列数据列表并给出每次扫描所做的工作.
14 7 23 31 40 56 78 9 2
52. 一个列表中包含以下元素。前两个元素已经使用选择排序算法排好序了,那么在进行
了三次扫描后列表中元素排序结果如何?
7 8 26 44 13 23 57 98
53. 一个列表中包含以下元素。前两个元素已经使用冒泡排序算法排好序了,那么在进行
了三次扫描后列表中元素排序结果如何?
7 8 26 44 13 23 57 98
54. 一个列表中包含以下元素。前两个元素已经使用插入排序算法排好序了,那么在进行
了三次扫描后列表中元素排序结果如何?
7 8 26 44 13 23 57 98
55. 一个列表中包含以下元素。使用折半查找算法,跟踪查找88的步骤,要求给出每一步中
first, mid和last的值.
8 13 17 26 44 56 88 97
56. 一个列表中包含以下元素。使用折半查找算法,跟踪查找20的步骤,要求给出每一步中
first, mid和last的值.
8 13 17 26 44 56 88 97
57. 使用下面的定义编写一个寻找两个整数最大公约数(gcd)的递归算法.
gcd(x,y) =
gcd(y,x) if x < y
x if y = 0
gcd(y,x mod y) otherwise
58. 使用下面的定义编写一个求组合数C(n,k)的递归算法.
C(n,k) =
1 if k = 0 or n = k
C(n-1,k) + C(n-1,k-1) if n > k > 0