?/p>
1
?/p>
?/p>
2
?/p>
山东科技大学
?/p>
学年?/p>
学期
《算法设计与分析》考试试卷
班级
姓名
学号
题号
一
?/p>
?/p>
?/p>
?/p>
总得?/p>
评卷?/p>
审核?/p>
得分
一?/p>
设数?/p>
A
?/p>
n
个元素,需要找出其中的最大最小值?/p>
?/p>
20
分)
?/p>
1
?/p>
请给出一个解决方法,并分析其复杂性?/p>
?/p>
2
?/p>
?/p>
n
个元素等分为两组
A1
?/p>
A2
,分别求这两组的最大值和最小值,
然后分别将这?
组的最大值和最小值相比较?/p>
求出全部元素的最大值和最小值?/p>
如果
A1
?/p>
A2
中的?/p>
素多于两个,则再用上述方法各分为两个子集。直至子集中元素至多两个元素为止?/p>
这是什么方法的思想?请给出该方法的算法描述,并分析其复杂性?/p>
二?/p>
已知
1
(
)
*
(
)
i
i
k
k
ij
r
r
A
a
?/p>
?/p>
?/p>
k
=1
?/p>
2
?/p>
3
?/p>
4
?/p>
5
?/p>
6
?/p>
r
1
=5
?/p>
r
2
=10
?/p>
r
3
=3
?/p>
r
4
=12
?/p>
r
5
=5
?/p>
r
6
=50
?/p>
r
7
=6
?
求矩阵链?/p>
A
1
×
A
2
×
A
3
×
A
4
×
A
5
×
A
6
的最佳求积顺序?/p>
?/p>
20
分)
三?/p>
对于下图使用
Dijkstra
算法求由顶点
a
到其他各个顶点的最短路径?/p>
并给出求各个顶点?
之间的最短路径的算法思想?/p>
?/p>
20
分)
?/p>
a
h
g
f
e
d
c
b
2
3
1
2
2
4
2
3
1
1
2
四?/p>
15
谜问题:
在一?/p>
4
×
4
的方格的棋盘上,
将数?/p>
1
?/p>
15
代表?/p>
15
个棋子以任意的顺?
置入各方格中,空出一格。要求通过有限次的移动,把一个给定的初始状态变成目标状态。移?/p>
的规则是:每次只能把空格周围的四格数字(棋子)中的任意一个移入空格,从而形成一个新?/p>
状态。为了有效的移动,设计了估值函?/p>
C
1
(x)
,表示在结点
x
的状态下,没有到达目标状态下?/p>
正确位置的棋子的个数?/p>
?/p>
20
分)