- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
算法设计与分析试题
二、 简答题(每小题7分,共42分)
1使用Horner法则求解多项式在处的值(画出表格)。
2在计数排序中使用count数组记录数组中小于该元素的个数。若使用计数排序对数组[4,1,6,9]进行排序,请给出count数组的动态变化过程。
4
1
6
9
初始count数组
0
0
0
0
第0遍后count数组
第1遍后count数组
第2遍后count数组
3大整数乘法请写出使用大整数乘法计算67*49的的计算过程及其结果
4. 对于折半查找请回答以下问题
(1)请写出折半查找的基本思想。
(2)使用折半查找的前提条件是什么?
(3)请估算:对于一个1000个元素的数组成功查找的话,使用折半查找比顺序查找要快多少倍?
5时间复杂度定义
请写出分治法、减治法思想的区别与联系,并分别给出使用这两种思想设计的算法名称。
6 用减一思想生成子集的方法,给出生成集合 a,b,c 的所有子集的过程。
三、 分析题(每小题12分,共48分)
1时间复杂度分析
算法 Binomial n,k //用动态规划算法计算C n,k //输入:—对非负整数n k 0 //输出:C n,k 的值 for i← 0 to n do for j ← 0 to min i,k do if j 0 or j i C[i,j] ← 1 else C[i,j] ←C[i-1,j-1]+C[i-1,j] return C[n,k]
(1)指出该问题的规模
(2)指出该算法的基本操作
(3)说明基本操作的次数取决于哪些因素
(4)写出最差效率的求和表达式及估算效率类型
(5)指出该算法的效率类型
2请写出快速排序QuickSort(A[l,r]), int Partition(A[l,r])这两个函数的伪代码,并指出算法效率最坏的情形,及最坏情形下的时间复杂度, 请演示如何对组 [10,20,2, 15, 4,6,13,8]进行快速排序(4分)。
10
20
2
15
4
6
13
8
第一趟排序
第二趟排序
第三趟排序
3请写出Floyd算法的伪代码,并根据代码计算布尔矩阵的形式给出邻接矩阵所代表的图的运行结果。
4请写出Dijkstra算法的伪代码,并根据代码求从定点a到其它所有顶点的最短距离。
广东工业大学试卷用纸,共3页,第3页
广东工业大学考试试卷 A
课程名称: 算法设计与分析 试卷满分 100 分
考试时间:2013年 6月 11 日 第 17 周 星期二
题 号 一 二 三 四 五 六 七 八 九 十 总分 评卷得分 评卷签名 复核得分 复核签名 一、 选择题(每小题2分,共10分)
算法时间复杂度函数增长次数小于等于 g n 以及其常数倍(n趋向于无穷大)的函数集合记作 A .O g n B. ? g n C.Θ g n D. 无此符号
递推关系式M n M n-1 +2n,M 0 0的算法时间复杂度为 A. θ n! B. θ n2 C. θ n D. θ 1
下列几种排序算法,运行占用内存最大的是 A. 插入排序 B. 选择排序
C. 快速排序 D. 归并排序
使用Kruskal算法计算下图所得到的最小生成树的权重为 A. 10 B. 12
C. 15 D. 18
5. 在堆中,把位于第i层的一个键移到第i+1层所需要的键值比较次数为 A. 1 B. 2
C. 2i-1 D. 2i
学 院: 专 业: 学 号: 姓 名: 装 订 线
文档评论(0)