- 0
- 0
- 约1.63万字
- 约 9页
- 2026-02-04 发布于四川
- 举报
计算机学院2005/2006学年(下)学期期末考试试卷
《》试卷(A卷)
专业年级班级学号
题号一、简答题二、解答题三、分析题四、设计题总分
得分
一、简答题(每题5分,共25分)
1.使用记号表示下列函数:
32100i
(1)f(n)=n+nlogn(2)f(n)∑ia(其中a1)
121≤≤
in
3n
答:(1)f(n)=(n)。(2分)(2)g(n)(na)。(3分)
2.以比较为基础的排序算法的时间下界是(nlogn)。基数排序的时间复杂度?这个下
界适用基数排序吗?为什么?
答:基数排序的时间复杂度为(kn),其中,k是元素的位数,n是元素的个数。(3分)
此下界不适用于基数排序,因为基数排序不属于基于元素的比较来排序的算法类。(2分)
3.图的深度优先搜索和宽度优先搜索方法的主要区别?
答:主要区别如下:图的深度优先搜索是每当检测一个结点u时,到一个新结点v,则暂
时终止对u的检测,转而对v进行检测(3分);而图的宽度优先搜索则是每当检测一个结点
u时,就依次完没有被的u的邻接点,即一次对u检测完毕。(2分)。
4.简述使用分枝限界法求解问题的基本思路。与回溯法相比,它有何优势,和有何不足?
答:分枝限界法的基本思想是:宽度优先搜索(优先队列搜索)+剪枝。即,通过对搜索树进
行宽度优先搜索来寻找问题的解答,且在搜索中每搜索到一个结点处,都要考虑是否能使用
剪枝操作来剪枝,从而提高搜索效率。(3分)与回溯法相比,这种搜索方法具有更大的灵活
性(搜索跳跃性更大),但是往往需要比回溯法多得多的空间。(2分)
5.考虑产生1,2,⋯,n.的一个随机排列。请简要描述一个时间复杂度为O(n)的随机算法的思路。
答:一种随机算法的基本思路是:先初始化A[i]i,1≤i≤n;然后随机地在A中选两个元素
出来交换,此操作执行n次。显然,这种算法的时间复杂度为(n)。(5分)
二、解答题(每题15分,共45分)
1/9
16.在图1实例上应用Dijkstra算法求结点a到其它所有结点的最短路长,。
(1)请用文字描述其描述算法的基本思路;bd
2
2
原创力文档

文档评论(0)