川农大算法分析期末复习

更新时间:2024-05-03 10:05:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

算法分析与设计 复习题

判断题 ....................................................................................... 1 选择题: ................................................................................. 15

判断题

1. 算法就是一组有穷的规则。 答案:正确

2. 概率算法中蒙特卡罗算法得到的解必是正确的。 答案:错误

3. 程序和算法一样,都是某种程序设计语言的具体实现。 答案:错误

4. 合并排序算法是渐近最优算法。 答案:正确

5. 递归定义必须是有确切含义是指必须一步比一步简单,最后是有终结的,决不能无限循环下去。 答案:正确

6. 二分搜索方法在最坏的情况下用O(log n)时间完成搜索任务。 答案:正确

7. 能否利用分治法完全取决于问题是否具有如下特征:利用该问题分解出的子问题的解可以合并为该问题的解。 答案:正确

8. 分治法的基本思想是将一个规模较大的问题分解成若干个规模较小的子问题,这些子问题之间并不一定相互独立。 答案:错误

9. 递归算法的效率往往很低,费时和费内存空间。 答案:正确

10. 当一个问题具有最优子结构性质时只能用动态规划方法求解。 答案:错误

11. 如果一类活动过程一个阶段的决策确定以后,常影响到下一个阶段的决策,则称它为多阶段决策问题。 答案:正确

12. 反复应用分治手段,不能使子问题与原问题类型一致而其规模却不断缩小。 答案:错误

13. 裴波那契数列的定义:f(n)=f(n-1)+f(n-2),f(0)=1,f(1)=2,其数据的定义形式不是按递归定义。 答案:错误

14. 0-1背包问题与背包问题这两类问题都可以用贪心算法求解。 答案:错误

15. 证明贪心选择后的问题简化为规模更小的类似子问题的关键在于利用该问题的最优子结构性质。 答案:错误

16. 子问题之间不包含公共的子问题,这个条件涉及到分治法的效率。 答案:正确

17. 概率算法允许在执行过程中随机地选择下一个计算步骤。 答案:正确

18. 二分搜索法的二分查找只适用于顺序存储结构。 答案:正确

19. 要想在电脑上扩大所处理问题的规模,有效的途径是降低算法的计算复杂度。 答案:正确

20. 用回溯法解题一个显著特征是在搜索过程中动态产生问题的解空间。 答案:错误

21. 从分治法的一般设计模式可以看出,用它设计出的程序一般是一个递归过程。因此,分治法的计算效率通常可以用递归方程来进行分析。 答案:正确

22. 多阶段决策问题中,每一个阶段可能有若干个决策可供选择 答案:正确

23. 拉斯维加斯算法不会得到不正确的解,但有时找不到解。 答案:正确

24. 在通往边界条件的递归调用过程中,系统用堆栈保存的每次调用的中间结果是局部变量

和返回地址值。 答案:正确

25. 要想在电脑上扩大所处理问题的规模,有效的途径是提高算法的计算复杂度。 答案:错误

26. 程序必须满足算法具有数据输出的性质。 答案:正确

27. 反复应用分治手段,可以使子问题与原问题类型一致而其规模却不断缩小 答案:正确

28. 一个算法产生一个或多个输出,它们是同输入有某种特定关系的量 答案:正确

29. 最优子结构性质特征反映了递归思想的应用 答案:正确

30. 递归边界本身并不使用递归的定义 答案:正确

31. 用分治法求解一个问题,所需的时间是由子问题的个数、大小以及把这个问题分解为子问题所需的工作总量来确定的。 答案:正确

32. 应用回溯法解问题时,首先应明确定义问题的解空间。问题的解空间应至少包含问题的一个(最优)解。 答案:正确

33. 好的约束函数能显著地减少所生成的结点数,但这样的约束函数往往计算量较大。因此,在选择约束函数时通常存在生成结点数与约束函数计算量之间的折衷。 答案:正确

34. 一个递归定义必须是有确切含义的,必须一步比一步简单,最后是有终结的,不能无限循环下去。 答案:正确

35. 最优子结构性质是应用分治法的前提。 答案:正确

36. 操作系统,它是一个在无限循环中执行的程序,因而不是一个算法。 答案:正确

37. 有些数据结构如二叉树等,由于其本身的递归特性、特别适合用递归的形式来描述。 答案:正确

38. 概率算法的一个基本特征是,对所求问题的同一个实例用同一个算法求解两次一定能得到完全相同的效果。 答案:错误

39. 问题可以分解为若干个规模较小的相同问题,即称该问题具有最优子结构性质。 答案:错误

40. 递推是从内边界条件出发,通过递推式达到边界条件。 答案:正确

41.所有的递归函数都能找到对应的非递归定义。 答案:正确

42.定义递归函数时可以没有初始值。 答案:错误

43.动态规划算法的基本要素是最优子结构。 答案:正确

44.最优子结构性质是指原问题的最优解包含其子问题的最优解。 答案:正确

45.动态规划算法求解问题时,分解出来的子问题相互独立。 答案:错误

46.满足贪心选择性质必满足最优子结构性质。 答案:错误

47.回溯法中限界函数的目的是剪去得不到最优解的子树。 答案:正确

48. 分支限界法类似于回溯法,也是一种在问题的解空间树T上搜索问题解的算法,两者的搜索方式是相同的。 答案:错误

49. 任何递归算法都有递归出口。 答案:正确

50. 递归算法的执行效率比功能相同的非递归算法的执行效率高。 答案:错误

51. 递归算法不能转换成对应的非递归算法。 答案:错误

52. 数据元素是数据的最小单位 答案:错误

53. 数据对象就是一组数据元素的集合 答案:错误

54. 任何数据结构都具备三个基本运算:插入、删除和查找。 答案:错误

55. 数据对象是由有限个类型相同的数据元素构成的。 答案:正确

56. 数据的逻辑结构与各数据元素在计算机中如何存储有关。 答案:错误

57. 如果数据元素值发生改变,则数据的逻辑结构也随之改变。 答案:错误

58. 逻辑结构相同的数据,可以采用多种不同的存储方法。 答案:正确

59. 逻辑结构不相同的数据,必须采用不同的存储方法来存储。 答案:错误

60.数据的逻辑结构是指数据元素的各数据项之间的逻辑关系。 答案:错误

61.顺序存储方式只能用于存储线性结构。 答案:错误

62. 算法可以用不同的语言来描述,如果用C语言或Pascal语言等高级语言来描述,则算法就等同于程序。 答案:错误

63.数据的逻辑结构是指各数据元素之间的逻辑关系。 答案:正确

64.数据结构、数据元素、数据项在计算机中的映像(或表示)分别称为存储结构、节点和数据域。 答案:正确

65.数据的物理结构是指数据在计算机内的实际存储形式。 答案:正确

66.分配给单链表的内存与地址必须是连续的。 答案:错误

67.从长度为n的顺序表中删除任何一个元素,时间复杂度都是O(n)。 答案:错误

68. 向顺序表中插入一个元素,平均要移动大约一半的元素。 答案:正确

69.凡是为空的单链表都是不含任何节点的。 答案:错误

70. 如果单链表带有头节点,则插入操作永远不会改变头节点指针的值。 答案:正确

71. 在循环单链表中,任何一个节点的指针域都不可能为空。 答案:正确

72. 顺序存储方式的特点是存储密度大且插入、删除运算效率高。 答案:错误

73. 线性表的顺序存储结构优于链式存储结构。 答案:错误

74. 顺序存储结构属于静态结构而链式存储结构属于动态结构。 答案:正确

75. 由于顺序存储结构要求连续的存储区域,所以在存储管理上不够灵活。 答案:正确

76. 对于单链表来说,只有从头节点开始才能扫描表中全部节点。 答案:正确

77. 对于循环单链表来说,从表中任一节点出发都能扫描表中全部节点。 答案:正确

78. 双链表的特点是很容易找任一节点的前趋和后继。 答案:正确

79. 线性表有两种存储结构:一是顺序表,二是链表。 答案:正确

80. 如果有多个线性表同时共存,并且在处理过程中各表的长度会动态地发生变化,线性表

的总数也会自动改变。在此情况下,应选用链式存储结构。 答案:正确

81.若线性表的总数基本稳定且很少进行插入和删除操作,但要求以最快的速度存取线性表中的元素,那么应该选用顺序存储结构。 答案:正确

82.对于单链表和双链表,均能从当前节点出发访问到任一节点。 答案:错误

83. 循环单链表和循环双链表从尾指针出发可以访问到链表中的任意节点。 答案:正确

84.若频繁地对一个线性表进行插入和删除操作,该线性表宜采用链式存储结构。 答案:正确

85.栈底元素是不能删除的元素。 答案:错误

86.顺序栈中元素值的大小是有序的。 答案:错误

87.栈顶元素和栈底元素有可能是同一个元素。 答案:正确

88. 若用s[1…m]表示顺序栈的存储空间,则对栈的进栈、出栈操作最多只能进行m次。 答案:错误

89. 栈是一种对进栈、出栈操作总次数作了限制的线性表。 答案:错误

90. 空栈没有栈顶指针 答案:错误

91. 环形队列中有多少元素,可以根据队首指针和队尾指针的值来计算。 答案:正确

92. 无论是顺序队列,还是链式队列,插入、删除运算的时间复杂度都是O(1)。 答案:正确

93. 栈和队列都是插入和删除操作受限的线性表。 答案:正确

94. 栈和队列的存储方式既可以是顺序方式,也可以是链式方式

答案:正确

95. 环形队列也存在空间溢出的问题 答案:正确

96.消除递归不一定需要使用栈。 答案:正确

97. 二分搜索算法是利用贪心法实现的算法。 答案:错误

98. 动态规划算法通常是以自底向上的方式求解最优解。 答案:正确

99. 贪心法不能解决0/1背包问题。 答案:正确

100. 深度优先不是分支限界法的搜索方式。 答案:正确

101. 二分搜索算法是利用分治策略实现的算法。 答案:正确

102. 背包问题不能使用贪心法解决。 答案:错误

103. 单源最短路径问题不能使用贪心法解决。 答案:错误

104. 时间复杂度低是衡量一个算法好坏的标准。 答案:正确

105. 归并排序不可以使用分治法求解。 答案:错误

106. 拉斯维加斯算法有时找不到问题的解。 答案:正确

107. 舍伍德算法有时候找不到问题的解。 答案:错误

108. NP问题都是不可能解决的问题 答案:错误

109. P类问题包含在NP类问题中。 答案:正确

110. NP类问题包含在P类问题中。 答案:错误

111. NP完全问题是P类问题的子集 答案:错误

112. 蒙特卡罗算法是概率算法的一种 答案:正确

113. 蒙特卡罗算法是贪心算法的一种 答案:错误

114. 蒙特卡罗算法是回溯算法的一种 答案:错误

115. 动态规划算法不是随机化算法 答案:正确

116. 最优子结构性质是贪心算法与动态规划算法的共同点 答案:正确

117. 矩阵连乘问题的算法可由动态规划算法来设计实现 答案:正确

118. Strassen 矩阵乘法是利用分治策略实现的算法 答案:正确

119. Strassen 矩阵乘法是利用贪心法实现的算法 答案:错误

120. 贪心选择性质是贪心算法的基本要素 答案:正确

121. 以深度优先方式系统搜索问题解的算法称为回溯算法 答案:正确

122. 算法分析的两个主要方面是时间复杂度和空间复杂度分析 答案:正确

123. 实现最大子段和利用的算法是动态规划法 答案:正确

124. 实现最大子段和利用的算法是贪心法 答案:错误

125. 实现最大子段和利用的算法是回溯法 答案:错误

126. 广度优先是分支限界算法的一种搜索方式 答案:正确

127. 广度优先是回溯算法的一种搜索方式 答案:错误

128. 广度优先是贪心算法的一种搜索方式 答案:错误

129. 舍伍德算法是概率算法的一种 答案:正确

130. 舍伍德算法是贪心算法的一种。 答案:错误

131. 舍伍德算法是回溯算法的一种。 答案:错误

132. 实现最长公共子序列利用的算法是动态规划法。 答案:正确

133. 计算机算法指的是解决问题的方法和过程。 答案:正确

134. 根据排序元素所在位置的不同,排序分内排序和外排序。 答案:正确

135. 根据排序元素所在位置的不同,排序分首排序和尾排序。 答案:错误

136. 算法必须具备输入、输出和有穷性、确定性和可行性等5个特性。 答案:正确

137. 算法必须具备输入、输出和易读性、稳定性和安全性等 5个特性。 答案:错误

138. 与分治法不同的是,适合于用动态规划求解的问题经分解得到的子问题往往不是相互独立的 答案:正确

139. 与分治法不同的是,适合于用动态规划求解的问题往往是相互独立的 答案:错误

140. 二分搜索算法的基本思想是将 n 个元素分成个数大致相同的两半,取 a[n/2]与 x 进行比较:如果x

141. 二分搜索算法的基本思想是将 n 个元素分成个数大致相同的两半,取 a[n/2]与 x 进行比较:如果x>a[n/2],则只要在数组 a 的左半部继续搜索 x 答案:错误

142. 算法必须具备输入、输出和可执行性、可移植性和可扩充性等5个特性。 答案:错误

143. 适用动态规划的问题必须满足最优化原理和无后效性。 答案:正确

144. 适用动态规划的问题必须满足最优化原理和后效性。 答案:错误

145. 二分查找只适用于顺序存储结构。 答案:正确

146. 二分查找只适用于链式存储结构。 答案:错误

147. 应用分治法的两个前提是问题的可分性和解的可归并性。 答案:正确

148. 应用分治法的两个前提是问题的可分性和解的复杂性。 答案:错误

149. 对于n个元素的排序问题。n=2时只要作1次比较即可排好序。 答案:正确

150. 对于n个元素的排序问题。n=2时要作2次比较即可排好序。 答案:错误

151. 分治法所能解决的问题应具有的关键特征是利用该问题分解出的子问题的解可以合并为该问题的解。 答案:正确

152. 分治法所能解决的问题应具有的关键特征是该问题的规模缩小到一定的程度就可以容易地解决。

答案:错误

153. 直接或间接的调用自身的算法称为递归算法。 答案:正确

154. 直接或间接的调用自身的算法称为动态规划算法。 答案:错误

155. 当上下限表示相等时我们使用Θ表示法来描述算法代价。 答案:正确

156. 当上下限表示相等时我们使用大O表示法来描述算法代价。 答案:错误

157. 递归通常用栈来实现。 答案:正确

158. 递归通常用队列来实现。 答案:错误

159. 分治法的设计思想是将一个难以直接解决的大问题分割成规模较小的子问题分别解决子问题最后将子问题的解组合起来形成原问题的解。这要求原问题和子问题的问题规模不同,问题性质相同。 答案:正确

160. 0/1背包问题不能用贪心算法求解。 答案:正确

161. 可以由多项式时间算法求解的问题是易处理的。 答案:正确

162. 可以由多项式时间算法求解的问题是难处理的。 答案:错误

163. 需要超过多项式时间算法求解的问题是不能处理的。 答案:错误

164. 递归通常用数组来实现。 答案:错误

165. 哈密尔顿回路问题是典型的NP完全问题。 答案:正确

166. 排序问题是典型的NP完全问题。

答案:错误

167. 算法分析需要对算法需要多少计算时间和存储空间作定量分析。 答案:正确

168. 用数量级形式表示算法的执行时间称为算法的时间复杂度。 答案:正确

169. 用数量级形式表示算法的执行时间称为算法的空间复杂度。 答案:错误

170. 最坏情况下,顺序查找的时间复杂度为O(n)。 答案:正确

171. 最坏情况下,折半查找的时间复杂度为O(log2n)。 答案:正确

172. 合并排序的基本运算是把两个或多个有序序列合并成一个有序序列 答案:正确

173. 最优子结构是动态规划算法的基本要素之一。 答案:正确

174. 快速排序算法是基于分治策略的一种排序算法。 答案:正确

175. 快速排序算法是基于回溯的一种排序算法。 答案:错误

176. 快速排序算法是基于贪心法的一种排序算法。 答案:错误

177. 贪心法通常以自顶向下的方式求解最优解。 答案:正确

178. 分治法通常以自顶向下的方式求解最优解。 答案:错误

179. 回溯法通常以自顶向下的方式求解最优解。 答案:错误

180. 不断回头寻找目标的方法称为回溯法。 答案:正确

181. 不断回头寻找目标的方法称为概率算法。 答案:错误

182. 不断回头寻找目标的方法称为贪心法。 答案:错误

183. 拉斯维加斯算法找到的解一定是正确的。 答案:正确

184. 拉斯维加斯算法找到的解正确与否不确定。 答案:错误

185. ?记号在算法复杂性的表示法中表示紧致界。 答案:正确

186. ?记号在算法复杂性的表示法中表示上界。 答案:错误

187. ?记号在算法复杂性的表示法中表示下界。 答案:错误

188. 一个算法是对特定问题求解的一种描述,它是指令的有限序列。 答案:正确

189. 一个递归算法必须包括终止条件和递归部分。 答案:正确

190. 栈和队列的共同点是只允许在端点处插入和删除元素。 答案:正确

191. 排序趟数与原始序列有关的排序方法是冒泡排序法。 答案:正确

192. 栈和队列的共同点都是先进先出。 答案:错误

193.栈和队列的共同点都是先进后出。 答案:错误

194. 排序趟数与原始序列有关的排序方法是选择排序法。 答案:错误

195. 在算法的三种情况下的复杂性中,可操作性最好且最有实际价值的是最坏情况下的时间复杂度。 答案:正确

196. 在算法的三种情况下的复杂性中,可操作性最好且最有实际价值的是最好情况下的时间复杂度。 答案:错误

197. 若一个算法的时间复杂度用T(n)表示,其中n的含义是问题规模。 答案:正确

198. 合并排序法的基本思想是:将待排序元素分成大小大致相同的2个子集合,分别对每个子集合进行排序,最终将排好序的子集合合并成为所要求的排好序的集合。 答案:正确

选择题:

1. 二分搜索算法是利用( A )实现的算法。 选项A. 分治策略 选项B. 动态规划法 选项C. 贪心法 选项D. 回溯法 答案:

2. 回溯法解旅行售货员问题时的解空间树是( B )。 选项A. 子集树 选项B. 排列树

选项C. 深度优先生成树 选项D. 广度优先生成树 答案:

3. 下列算法中通常以自底向上的方式求解最优解的是( B )。 选项A. 备忘录法 选项B. 动态规划法 选项C. 贪心法 选项D. 回溯法 答案:

4. 下面不是分支界限法搜索方式的是( D )。 选项A. 广度优先 选项B. 最小耗费优先 选项C. 最大效益优先 选项D. 深度优先 答案:

5.采用贪心算法的最优装载问题的主要计算量在于将集装箱依其重量从小到大排序,故算

法的时间复杂度( B )。 A、O() B、O(nlogn)

C、O() D、O(n)

6.分支限界法求解最大团问题时,活结点表的组织形式是( B )。 A、最小堆 B、最大堆 C、栈 D、数组

7、下面问题( B )不能使用贪心法解决。 A 单源最短路径问题 B N皇后问题

C 最小花费生成树问题 D 背包问题 答案:

8.下列算法中不能解决0/1 背包问题的是( A )。 A 贪心法 B 动态规划 C 回溯法

D 分支限界法 答案:

9.背包问题的贪心算法所需的计算时间为( B )。 A、O(n ) B、O(nlogn) C、O( ) D、O(n) 答案:

10.二分搜索算法是利用( A )实现的算法。 A. 分治策略 B、动态规划法 C、贪心法 D、回溯法 答案:

11.下列不是动态规划算法基本步骤的是( B )。 A、找出最优解的性质 B、构造最优解

C、算出最优解 D、定义最优解 答案:

12.最大效益优先是( A )的一种搜索方式。 A、分支界限法 B、动态规划法 C、贪心法 D、回溯法 答案:

13、在下列算法中有时找不到问题解的是( B )。 A、蒙特卡罗算法 B、拉斯维加斯算法 C、舍伍德算法 D、数值概率算法 答案:

14.下列算法中通常以自底向上的方式求解最优解的是( B )。 A、备忘录法 B、动态规划法 C、贪心法 D、回溯法 答案:

14.下列算法中通常以自底向上的方式求解最优解的是( B )。 A、备忘录法 B、动态规划法 C、贪心法 D、回溯法 答案:

15、衡量一个算法好坏的标准是( C )。 A 运行速度快 B 占用空间少 C 时间复杂度低 D 代码短 答案:

16、以下不可以使用分治法求解的是( D ) 。 A、 棋盘覆盖问题 B、 选择问题 C、 归并排序

D、 0/1背包问题 答案:

17. 实现循环赛日程表利用的算法是( A ) A、分治策略 B、动态规划法 C、贪心法 D、回溯法 答案:

18、下列随机算法中运行时有时候成功有时候失败的是( C ) A 数值概率算法 B 舍伍德算法

C 拉斯维加斯算法 D 蒙特卡罗算法 答案:

19.下面不是分支界限法搜索方式的是( D )。 A、广度优先 B、最小耗费优先 C、最大效益优先 D、深度优先 答案:

20.下列算法中通常以深度优先方式系统搜索问题解的是( D )。 A、备忘录法 B、动态规划法 C、贪心法 D、回溯法 答案:

21.备忘录方法是那种算法的变形。( B )。 A、分治法

B、动态规划法 C、贪心法 D、回溯法 答案:

22.哈弗曼编码的贪心算法所需的计算时间为( B )。 A、O(n)

B、O(nlogn) C、O()

D、O(n) 答案:

23.最长公共子序列算法利用的算法是( B ) A、分支界限法 B、动态规划法 C、贪心法 D、回溯法 答案:

24.实现棋盘覆盖算法利用的算法是(A、分治法 B、动态规划法 C、贪心法 D、回溯法 答案:

A )。 25.下面是贪心算法的基本要素的是( C )。 A、重叠子问题 B、构造最优解 C、贪心选择性质 D、定义最优解

26.回溯法的效率不依赖于下列哪些因素( D )。 A. 满足显约束的值的个数 C. 计算限界函数的时间 B. 计算约束函数的时间 D. 确定解空间的时间

27.下面哪种函数是回溯法中为避免无效搜索采取的策略(A.递归函数 B. 剪枝函数 C.随机数函数 D.搜索函数

28、下面关于 NP 问题说法正确的是( B )。 A.NP 问题都是不可能解决的问题 B.P类问题包含在NP类问题中 C.NP 完全问题是P类问题的子集 D.NP类问题包含在P类问题中

29、蒙特卡罗算法是( B )的一种。 A. 分支界限算法 B. 概率算法 C. 贪心算法 D. 回溯算法 答案:

30.下列哪一种算法不是随机化算法( C )。 A. 蒙特卡罗算法 B. 拉斯维加斯算法 C. 动态规划算法 D.舍伍德算法 答案:

31. ( D )是贪心算法与动态规划算法的共同点。 A、重叠子问题 B、构造最优解

B )。

C、贪心选择性质 D、最优子结构性质 答案:

32. 矩阵连乘问题的算法可由( B )设计实现。 A、分支界限算法 B、动态规划算法 C、贪心算法 D、回溯算法 答案:

33、Strassen 矩阵乘法是利用( A )实现的算法。 A、分治策略 B、动态规划法 C、贪心法 D、回溯法 答案:

34、使用分治法求解不需要满足的条件是( A )。 A 子问题必须是一样的 B 子问题不能够重复 C 子问题的解可以合并

D 原问题和子问题使用相同的方法求解 答案:

35、回溯法搜索状态空间树是按照( C )的顺序。 A 中序遍历 B 广度优先遍历 C 深度优先遍历 D 层次优先遍历 答案:

36、实现合并排序利用的算法是( A ) A、分治策略 B、动态规划法 C、贪心法 D、回溯法 答案:

37、下列是动态规划算法基本要素的是( D ) A、定义最优解 B、构造最优解 C、算出最优解 D、子空间重叠性质

答案:

38.采用广度优先策略搜索的算法是( A ) A、分支界限法 B、动态规划法 C、贪心法 D、回溯法 答案:

39、在下列算法中得到的解未必正确的是( A ) A、蒙特卡罗算法 B、拉斯维加斯算法 C、舍伍德算法 D、数值概率算法 答案:

40.实现大整数的乘法是利用的算法( C ) A、贪心法 B、动态规划法 C、分治策略 D、回溯法 答案:

41.0-1 背包问题的回溯算法所需的计算时间为( A ) A、O(n) B、O(nlogn) C、O() D、O(n) 答案:

42.贪心算法与动态规划算法的主要区别是( B ) A、最优子结构 B、贪心选择性质 C、构造最优解 D、定义最优解 答案:

43. 实现最大子段和利用的算法是( B )。

A、分治策略 B、动态规划法 C、贪心法 D、回溯法 答案:

44.优先队列式分支限界法选取扩展结点的原则是( C ) A、先进先出 B、后进先出 C、结点的优先级 D、随机 答案:

45、广度优先是( A )的一种搜索方式。 A、分支界限算法 B、动态规划法 C、贪心算法 D、回溯算法 答案:

46、舍伍德算法是( B )的一种 A、分支界限算法 B、概率算法 C、贪心算法 D、回溯算法 答案:

47、在下列算法中有时找不到问题解的是( B ) A、蒙特卡罗算法 B、拉斯维加斯算法 C、舍伍德算法 D、数值概率算法 答案:

48 下列哪一种算法是随机化算法( D )。 A. 贪心算法 B. 回溯法

C. 动态规划算法 D. 舍伍德算法 答案:

49. 一个问题可用动态规划算法或贪心算法求解的关键特征是问题的( B )。 A、重叠子问题 B、最优子结构性质

C、贪心选择性质 D、定义最优解 答案:

52. 以深度优先方式系统搜索问题解的算法称为( D )。 A、分支界限算法 B、概率算法 C、贪心算法 D、回溯算法 答案:

53. 实现最长公共子序列利用的算法是( B )。 A、分治策略 B、动态规划法 C、贪心法 D、回溯法

54. 算法分析的两个主要方面是( A )。 A. 空间复杂度和时间复杂度 B. 正确性和简单性 C. 可读性和文档性

D. 数据复杂度和程序复杂度

55. 计算机算法指的是( C )。 A. 计算方法 B. 排序方法

C. 解决问题的方法和过程 D. 调度方法

56. 多阶段决策问题就是要在可以选择的那些策略中间选取一个( A )策略使在预定的标准下达到最好的效果。 A. 最优 B. 最差 C. 平衡 D. 任意

57. 根据排序元素所在位置的不同,排序分( A )。 A. 内排序和外排序 B. 首排序和尾排序 C. 顺序排序和逆序排序 D. 堆排序和栈排序

58. 算法必须具备输入、输出和( B )等 5 个特性。 A. 可执行性、可移植性和可扩充性

B. 可行性、确定性和有穷性 C. 确定性、有穷性和稳定性 D. 易读性、稳定性和安全性

59. 与分治法不同的是,适合于用动态规划求解的问题( A )。 A. 经分解得到子问题往往不是互相独立的 B. 经分解得到子问题往往是互相独立的 C. 经分解得到子问题往往是互相交叉的 D. 经分解得到子问题往往是任意的

60. 二分搜索算法的基本思想是将 n 个元素分成个数大致相同的两半,取 a[n/2]与 x 进行比较:如果( A ),则只要在数组 a 的左半部继续搜索 x。 A. x<a[n/2] B. x=a[n/2] C. x>a[n/2] D. x>=a[n/2]

61. 活动安排问题就是在所给的活动集合中,选出( C )的相容活子集。 A. 最小 B. 任意 C. 最大 D. 一个

62. 在对问题的解空间树进行搜索的方法中一个活结点最多有一次机会成为活结点的是( B )。 A. 回溯法 B. 分支限界法

C. 回溯法和分支限界法 D. 回溯法求解子集树问题

63. 适用动态规划的问题必须满足( D )。 A. 最优化原理 B. 无前效性

C. 最优化原理和后效性 D. 最优化原理和无后效性

64. 算法的每种运算必须要有确切的定义不能有二义性,以下符合算法确定性运算的是( B )。 A. 5/0

B.将6或7与x相加 C.未赋值变量参与运算

D. f(n)=f(n-1)+2,F(1)=10,n为自然数

65. 直接或间接的调用自身的算法称为( B )。

A. 贪心算法 B. 递归算法 C. 迭代算法

D. 动态规划算法

66. 二分查找只适用( B )存储结构。 A. 堆 B. 顺序 C. 任意顺序 D. 栈

67. 应用分治法的两个前提是( A )。 A. 问题的可分性和解的可归并性 B. 问题的可分性和解的存在性 C. 问题的复杂性和解的可归并性 D. 问题的可分性和解的复杂性

68. 优先队列的分支限界法将活结点表组织成一个优先队列,并按优先队列中规定的结点优先级选取优先级最高的下一个结点成为当前扩展结点。优先队列中规定的结点优先级常用一个与该结点相关的数值p来表示。结点优先级的高低与p值大小相关,根据问题的不同情况,采用( C )来描述优先队列。 A. 先进先出队列 B. 后进先出的栈 C. 最大堆或最小堆 D. 随机序列

69. 阶乘函数用递归定义 Public static int factorial(int n) {if(n==0)return 1;return( B ):} A. n*factorial(n) B. n*factorial(n-1) C. n*factorial(n-2) D. n*factorial(n+1)

70. ( B )能够求得问题的解但却无法有效地判定解的正确性。 A. 数值概率算法 B. 蒙特卡罗算法 C. 拉斯维加斯算法 D. 舍伍得算法

71. 对于n个元素的排序问题。n=2时只要作( C )次比较即可排好序。 A. 3 B. 2 C. 1 D. 4

72. 一般地讲,当一个问题的所有子问题都至少要解一次时,用动态规划算法和备忘录算法相比:( B )。 A. 效果一样

B. 动态规划效果好 C. 备忘录方法效果好 D. 无法判断哪个效果好

73. 分支限界法与回溯法都是在问题的解空间树T上搜索问题的解,二者( B )。 A. 求解目标不同搜索方式相同 B. 求解目标不同搜索方式也不同 C. 求解目标相同搜索方式不同 D. 求解目标相同搜索方式也相同

74. 递归算法不能适用以下场合( D )。 A. 数据的定义形式按递归定义

B. 数据之间的关系即数据结构按递归定义 C. 问题解法按递归算法实现 D. 概率问题

75. 若当子问题之间包含公共的子子问题时,则分治法要做许多不必要的工作,重复地解公共的子问题,此时一般用( A )法较好。 A. 动态规划 B. 分治 C. 贪心 D. 概率

76. 分治法所能解决的问题应具有的关键特征是( C )。 A. 该问题的规模缩小到一定的程度就可以容易地解决 B. 该问题可以分解为若干个规模较小的相同问题

C. 利用该问题分解出的子问题的解可以合并为该问题的解 D. 该问题所分解出的各个子问题是相互独立的

77. 对于货箱装船问题根据贪心策略首先选择( A )的货箱然后选 ( A )的货箱如此下去直到所有货箱均装上船或船上不能再容纳其他任何一个货箱。 A. 最轻 次轻 B. 最重 次重 C. 最轻 次重 D. 最重 次轻

78. 用回溯法解n后问题时,用完全n叉树表示解空间。可行性约束place剪去不满足行、列和斜线约束的子树,place中的if判断条件应为( A )。 A. (Math.abs(k-j)==Math.abs(x[j]-x[k]))||x[j]==x[k]) B. (Math.abs(k-j)==Math.abs(x[j]-x[k]))

C. (x[j]-x[k])

D. 以上都不正确

79. 分支限界法的搜索策略是:在扩展结点处,先生成其( D )儿子结点(分支),然后再从当前的活结点表中选择下一个扩展对点。为了有效地选择下一扩展结点,以加速搜索的进程,在每一活结点处,计算一个函数值(限界),并根据这些已计算出的函数值,从当前活结点表中选择一个最有利的结点作为扩展结点,使搜索朝着解空间树上有最优解的分支推进,以便尽快地找出一个最优解。 A. 一个 B. 二个 C. 任意多个 D. 所有的

80. 能够用动态规划解决的问题还有一个显著特征( D )这个性质并不是动态规划适用的必要条件,但是如果该性质无法满足,动态规划算法同其他算法相比就不具备优势。 A. 子问题的可求解性 B. 子问题的独立性 C. 子问题的可合并性 D. 子问题的重叠性

81. 在任何一个2?2的棋盘覆盖中,用到的L型骨牌个数恰为( A )。 A. (4k?1)/3 B. (4?1)/2 C. (2?1)/3 D. (2?1)/2

82. 以Bitonic旅行路线问题为例,动态规划的时间复杂度为( C )。 A. O(n) B. O(n!) C. O(n2) D. O(n3)

83. 一个算法应该包含如下几条性质除了( A )。 A.二义性 B.有限性 C.正确性 D. 可终止性

84. 解决一个问题通常有多种方法。若说一个算法“有效”是指( D )。

kkkkkA. 这个算法能在一定的时间和空间资源限制内将问题解决 B.这个算法能在人的反应时间内将问题解决 C.这个算法比其他已知算法都更快地将问题解决 D. A和C

85. 当输入规模为n时算法增长率最小的是( B ) 。 A.5n B.20log2n C.2n D.3nlog3n

86.渐进算法分析是指( B ) 。

A. 算法在最佳情况、最差情况和平均情况下的代价

B. 当规模逐步往极限方向增大时对算法资源开销“增长率”上的简化分析 C. 数据结构所占用的空间

D. 在最小输入规模下算法的资源代价

87.当上下限表达式相等时我们使用下列哪种表示法来描述算法代价?( C ) A.大O表示法 B.大Ω表示法 C.Θ表示法 D. 小o表示法

88. 采用“顺序搜索法”从一个长度为N的随机分布数组中搜寻值为K的元素,以下对顺序搜 索法分析正确的是( B )。

A.最佳情况、最差情况和平均情况下顺序搜索法的渐进代价都相同 B.最佳情况的渐进代价要好于最差情况和平均情况的渐进代价 C.最佳情况和平均情况的渐进代价要好于最差情况的渐进代价

D.最佳情况的渐进代价要好于平均情况的渐进代价而平均情况的渐进代价要好于最差情况的渐进代价

89.递归通常用( C )来实现。 A. 有序的线性表 B. 队列 C. 栈 D. 数组

90. 分治法的设计思想是将一个难以直接解决的大问题分割成规模较小的子问题分别解决子问题最后将子问题的解组合起来形成原问题的解。这要求原问题和子问题( C )。 A问题规模相同,问题性质相同 B问题规模相同,问题性质不同

2C问题规模不同,问题性质相同 D问题规模不同,问题性质不同 91.在寻找n个元素中第k小元素问题中如快速排序算法思想运用分治算法对n个元素进行划分如何选择划分基准下面( D )答案解释最合理。 A.随机选择一个元素作为划分基准 B.取子序列的第一个元素作为划分基准 C.用中位数的中位数方法寻找划分基准

D.以上皆可行。但不同方法算法复杂度上界可能不同

92. 对于01背包问题和背包问题的解法下面( C )答案解释正确。 A.01背包问题和背包问题都可用贪心算法求解

B.01背包问题可用贪心算法求解但背包问题则不能用贪心算法求解 C.01背包问题不能用贪心算法求解但可以使用动态规划或搜索算法求解而背包问题则可以用贪心算法求解

D.因为01背包问题不具有最优子结构性质所以不能用贪心算法求解

93.关于回溯搜索法的介绍下面( D )是不正确描述。

A.回溯法有“通用解题法”之称它可以系统地搜索一个问题的所有解或任意解 B.回溯法是一种既带系统性又带有跳跃性的搜索算法

C.回溯算法在生成解空间的任一结点时先判断该结点是否可能包含问题的解如果肯定不包含则跳过对该结点为根的子树的搜索逐层向祖先结点回溯

D.回溯算法需要借助队列这种结构来保存从根结点到当前扩展结点的路径

94. 关于回溯算法和分支限界法以下( A )是不正确描述。 A回溯法中每个活结点只有一次机会成为扩展结点

B分支限界法中活结点一旦成为扩展结点就一次性产生其所有儿子结点在这些儿子结点中那些导致不可行解或导致非最优解的儿子结点被舍弃其余儿子加入活结点表中 C回溯法采用深度优先的结点生成策略

D分支限界法采用广度优先或最小耗费优先最大效益优先的结点生成策略

95. 优先队列通常用以下( B )数据结构来实现。

A.栈 B.堆 C.队列

D.二叉查找树

96. 在分支限界算法中根据从活结点表中选择下一扩展结点的不同方式可有几种常用分类,以下( D )描述最为准确。

A采用FIFO队列的队列式分支限界法

B采用最小值堆的优先队列式分支限界法 C采用最大值堆的优先队列式分支限界法

D以上都常用针对具体问题可以选择采用其中某种更为合适的方式

97. 对布线问题以下( C )是不正确描述。 A布线问题的解空间是一个图

B可以对方格阵列四周设置围墙,即增设标记的附加方格的预处理,使得算法简化对边界的判定

C采用广度优先的标号法找到从起点到终点的布线方案这个方案如果存在的话不一定是最短的

D采用先入先出的队列作为活结点表以,终点b为扩展结点或活结点队列为空作为算法结束条件

98. 下述表达不正确的是( D )。

nA. n/2?2的渐进表达式上界函数是O(2) nB.n/2?2的渐进表达式下界函数是?(2)

32n2nC.logn的渐进表达式上界函数是O(logn) D.logn的渐进表达式下界函数是?(n)

99.当输入规模为n时,算法增长率最大的是( A )。 A.5 B.20log2n C.2n D.3nlog3n

100. T(n)表示当输入规模为n时的算法效率,以下算法效率最优的是( C )。 A.T(n)=T(n-1)+1,T(1)=1 B.T(n)=2n2

C. T(n)=T(n/2)+1,T(1)=1 D. T(n)=3nlog2n

101. 有9个村庄,其坐标位置如下表所示:

2n33i x(i) y(i) 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 6 6 6 7 7 7 8 8 8 9 9 9 现在要盖一所邮局为这9个村庄服务,请问邮局应该盖在( C )才能使邮局到9个村庄的距离和最短。 A. (4.5,0) B. (4.5,4.5) C. (5,5) D. (5,0)

102. n个人拎着水桶在一个水龙头前面排队打水水桶有大有小水桶必须打满水水流恒定。如下( A ) 说法不正确

A.让水桶大的人先打水可以使得每个人排队时间之和最小 B.让水桶小的人先打水可以使得每个人排队时间之和最小

C.让水桶小的人先打水在某个确定的时间t内可以让尽可能多的人打上水 D.若要在尽可能短的时间内n个人都打完水按照什么顺序其实都一样

103. 对于含有n个元素的子集树问题,最坏情况下其解空间的叶结点数目为( B )。 A. n!

nB. 2

n?1C. 2?1

D.

?n!/i!

i?1n104.以下关于判定问题难易处理的叙述中正确的是( C ) A.可以由多项式时间算法求解的问题是难处理的 B.需要超过多项式时间算法求解的问题是易处理的 C.可以由多项式时间算法求解的问题是易处理的

D.需要超过多项式时间算法求解的问题是不能处理的

105. 回溯法在解空间树T上的搜索方式是( A ) A. 深度优先 B. 广度优先 C. 最小耗费优先 D. 活结点优先

106. 设f(N),g(N)是定义在正数集上的正函数,如果存在正的常数C和自然数N0,使得当 N≥N0时有f(N)≤Cg(N),则称函数f(N)当N充分大时有上界g(N),记作f(N)=O(g(N)),即f(N)的 阶( A )g(N)的阶。

A. 不高于 B. 不低于 C. 等价于 D. 逼近

107. 以下( C )不能在线性时间完成排序 A.计数排序 B.基数排序 C.堆排序 D.桶排序

108. 以下( A )不一定得到问题的最优解 A.贪心算法 B.回溯算法 C.分支限界法 D.动态规划法

109.下列不属于一个好的算法应具有的特性的是( C )。 A. 正确性 B. 简明性 C. 无限性 D. 最优性

110. 算法分析是( C )。

A. 将算法用某种程序设计语言恰当地表示出来

B.在抽象数据集合上执行程序,以确定是否会产生错误的结果 C. 对算法需要多少计算时间和存储空间作定量分析

D. 证明算法对所有可能的合法输入都能算出正确的答案

111. 学校要举行运动会,请你设计一个能够对运动员分数自动排序的软件,如果要设计此软件,以下最好的方法和步骤是( C )。 A. 分析问题,编写程序,设计算法,调试程序 B. 设计算法,编写程序,提出问题,调试程序 C. 提出问题,设计算法,编写程序,调试程序 D. 设计算法,提出问题,编写程序,调试程序

112. 考虑背包问题:n=6,M=10,V(1:6)=(15,59,21,30,60,5),W(1:6)=(1,5,2,3,6,1)。该问题的最大效益值为( C )。 A. 101 B. 110

C. 115 D.120

113. 考虑背包问题:n=6,M=10,V(1:6)=(15,59,21,30,60,5),W(1:6)=(1,5,2,3,6,1)。若把它看作是0/1背包问题,则该问题的最大效益值为( B )。 A. 101 B. 110 C. 115 D.120

114. 找最小生成树的算法Kruskal的时间复杂度为( D )。 A. O(n2) B. O(mlogn) C. O(nlogm) D. O(mlogm)

115. 算法与程序的区别在于算法具有( C )。 A. 能行性 B. 确定性 C. 有穷性

D. 输入和输出

116. 设A[1..60]={11,12,…,70}。算法折半查找在A上搜索x=33、7、70、77时执行的元素比较次数分别为a、b、c、d, 则( C )。 A. ab=c=d C. a

117. 算法直接插入排序在A[1..8]={45,33,24,45,12,12,24,12}上运行时执行的元素比较次数为( D )。 A. 14 B. 28 C. 7 D. 22

118. void hanoi(int n, int a, int b, int c)

{

if (n>0)

{

hanoi( n-1, a, c, b); move(a, b);

hanoi( n-1, c, b, a); } }

上述算法的时间复杂度为( A )。 A. O(2n) B. O(nlogn) C. D.

119. 当一个确定性算法在最坏情况下的计算复杂性与其在平均情况下的计算复杂性有较大差别时,可以使用( B )来消除或减少问题的好坏实例间的这种差别。 A. 数值概率算法 B. 舍伍德算法 C. 拉斯维加斯算法 D. 蒙特卡罗算法

120. 当输入规模为n时,算法增长率最快的是( C )。 A. 12n B.100log2n C. 2n2

D. 3nlog3n

121. 关于0-1背包问题,以下描述正确的是( D )。 A. 可以使用贪心算法找到最优解 B. 能找到多项式时间的有效算法

C. 使用教材介绍的动态规划方法可求解任意0-1背包问题

D. 对于同一背包与相同的物品,做背包问题取得的总价值一定大于等于做0-1背包问题。

122. 设有n项独立的作业{1,2,?, n},由m台相同的机器加工处理。作业i所需要的处理时间为ti。约定:任何一项作业可在任何一台机器上处理,但未完工前不准中断处理;任何作业不能拆分更小的子作业。多机调度问题要求给出一种调度方案,使所给的n个作业在尽可能短的时间内由m台机器处理完 (n>m)。对于多级调度问题,使用哪种贪心策略比较合适( B )。

A. 作业从小到大依次分配给空闲的机器 B. 作业从大到小依次分配给空闲的机器 C. 每个机器分配一样的作业数

D. 使用以上几种贪心策略都能找到最优解,所以都合适

?(n!)

?(nn)

123. 使用二分搜索算法在1000个有序元素表中搜索一个特定元素,在最坏情况下,搜索总共需要比较的次数为( A )。 A. 10 B. 11 C. 500 D. 1000

124. 用数量级形式表示算法的执行时间称为算法的( A A. 时间复杂度 B. 空间复杂度 C. 处理器复杂度 D. 通信复杂度

125. 下面哪个问题不是典型的NP完全问题( D )。 A. m-着色问题 B. 旅行商问题

C. 哈密尔顿回路问题 D. 排序问题

126. 顺序查找的时间复杂度为( A )。 A. O(n) B. O(logn) C. O(n2) D.O(nlogn)

127. 折半查找的时间复杂度为( B )。 A. O(n) B. O(logn) C. O(n2) D.O(nlogn)

128. 算法的复杂性有时间复杂性和( C )复杂性之分。A. 处理器复杂性 B. 通信复杂性 C. 空间复杂性 D. 存储复杂性

129. 算法的复杂性有空间复杂性和( C )复杂性之分。 A. 处理器复杂性 B. 通信复杂性 C. 时间复杂性

。 ) D. 存储复杂性

130. 算法是由若干条指令组成的有穷序列,且要满足输入、输出、确定性和有限性四条性质。其中算法的“确定性”是指组成算法的每条( B )是清晰的,无歧义的。 A. 程序 B. 指令 C. 语句 D. 语句块

131. ( C ) 的基本运算是把两个或多个有序序列合并成一个有序序列。 A. 快速排序 B. 希尔排序 C. 合并排序 D. 堆排序

132. 解决0/1背包问题可以使用动态规划,回溯法,分支限界法。其中不需要排序的是( A )。 A. 动态规划 B. 回溯法

C. 分支限界法

D. 以上3种方法都需要排序

133. 解决0/1背包问题时需要排序的方法是回溯法和( B )。 A. 动态规划 B. 分支限界法 C. 贪心法 D. 线性规划

134. 下面哪项是动态规划算法基本要素之一( D )。 A、定义最优解 B、构造最优解 C、算出最优解 D、最优子结构

135. 快速排序算法是基于( A )的一种排序算法。 A. 分治策略 B. 贪心 C. 回溯

D. 动态规划

136. ( C )是贪心算法可行的第一个基本要素,也是贪心算法与动态规划算法的主要区别。

A、重叠子问题 B、最优子结构 C、贪心选择性质 D、定义最优解

137. 如果无向连通图G中不包含任何关节点,则称该图G为( A )。 A. 双连通图 B. 单连通图 C. 强连通图 D. 弱连通图

138. 使用剪枝函数的深度优先生成状态空间树中结点的求解方法称为( D )。 A. 动态规划 B. 分支限界法 C. 贪心法 D. 回溯法

139.回溯法的算法框架按照问题的解空间一般分为子集树算法框架和( A )算法框架。 A.排列树 B.二叉树 C.B树

+

D.B树

140. 下列算法中通常以自顶向下的方式求解最优解的是( C )。 A. 分治法 B. 动态规划法 C. 贪心法 D. 回溯法

141. 哈夫曼编码可利用( C )算法实现。 A、分治策略 B、动态规划法 C、贪心法 D、回溯法

142. 在对问题的解空间树进行搜索的方法中一个活结点有多次机会成为活结点的是( A )。 A. 回溯法 B. 分支限界法

C. 回溯法和分支限界法 D. 动态规划

143、秦始皇吞并六国使用的远交近攻逐个击破的连横策略采用了以下哪种算法思想( B )。 A、递归

B、分治 C、迭代 D、模拟。

144、FIFO是( A )的一搜索方式。 A、分支界限法 B、动态规划法 C、贪心法 D、回溯法

145、投点法是( B )的一种。 A、分支界限算法 B、概率算法 C、贪心算法 D、回溯算法

146、若线性规划问题存在最优解它一定不在( C )。 A可行域的某个顶点上 B可行域的某条边上 C可行域内部 D以上都不对

147、在一般输入数据的程序里输入多多少少会影响到算法的计算复杂度,为了消除这种影响可用( B )对输入进行预处理。 A、蒙特卡罗算法 B、拉斯维加斯算法 C、舍伍德算法 D、数值概率算法

148、若L是一个NP完全问题L经过多项式时间变换后得到问题l则l是 ( A ) 。 A、P类问题 B、NP难问题 C、NP完全问题 D、P类语言

149. 不断回头寻找目标的方法称为( C )。 A. 动态规划 B. 贪心法 C. 回溯法 D. 概率算法

150. 拉斯维加斯算法找到的解一定是( B )。 A. 不确定的

B. 正确的 C. 不正确的 D. 局部最优的

151. ?记号在算法复杂性的表示法中表示( C )。 A. 上界 B. 下界 C. 紧致界

D. 以上说法都不对

152. 一个无向连通图不是双向连通图的充要条件是图中存在( B )。 A. 回路 B. 关节点 C. 最大团 D. 最小团

153. 一个算法是对特定问题求解的一种描述,它是( A )。 A. 指令的有限序列 B. 程序的有限序列 C. 语句的有限序列 D. 代码的有限序列

154. 矩阵乘法如下: for (i=0; i

for (k=0; k

它的渐近时间复杂度为( B )。 A. O(n2) B. O(n3) C. O(n) D. O(n4)

155. 二分搜索过程的算法行为可以用一棵( B )来描述。 A. 二叉排序树 B. 二叉判定树 C. 子集树 D. 排列树

156. 用贪心法求解背包问题时,为了使收益最大化要选择( A )的物品装入背包。

本文来源:https://www.bwwdw.com/article/zkjg.html

Top