全球旧事资料 分类
q
extps
extqL
extsr
Li
kList_reverser
r
8、证明由二叉树的中序序列和后序序列,也可以唯一确定一棵二叉树。r
29①试找出满足下列条件的二叉树r
1)先序序列与后序序列相同2)中序序列与后序序列相同r
3)先序序列与中序序列相同4)中序序列与层次遍历序列相同r
r
9、给定
个村庄之间的交通图,若村庄i和j之间有道路,则将顶点i和j用边连接,边上的Wij表示这条道路的长度,现在要从这
个村庄中选择一个村庄建一所医院,问这所医院应建在哪个村庄,才能使离医院最远的村庄到医院的路程最短试设计一个解答上述问题的算法,并应用该算法解答如图所示的实例。20分r
voidHospitalAdjMatrixwi
t
r
在以邻接带权矩阵表示的
个村庄中,求医院建在何处,使离医院最远的村庄到医院的路径最短。r
fork1k
k求任意两顶点间的最短路径r
fori1i
ir
forj1j
jr
ifwikwkjwijwijwikwkjr
mMAXINT设定m为机器内最大整数。r
fori1i
i求最长路径中最短的一条。r
s0r
forj1j
j求从某村庄i(1i
)到其它村庄的最长路径。r
ifwijsswijr
ifsmmski在最长路径中,取最短的一条。m记最长路径,k记出发顶点的下标。r
Pri
tf“医院应建在d村庄,到医院距离为d
”imr
forr
算法结束r
对以上实例模拟的过程略。各行中最大数依次是9,9,6,7,9,9。这几个最大数中最小者为6,故医院应建在第三个村庄中离医院最远的村庄到医院的距离是6。r
r
1、对图1所示的连通网G,请用Prim算法构造其最小生成树(每选取一条边画一个图)。r
r
10、我们可用“破圈法”求解带权连通无向图的一棵最小代价生成树。所谓“破圈法”就是“任取一圈,去掉圈上权最大的边”,反复执行这一步骤,直到没有圈为止。请给出用“破圈法”求解给定的带权连通无向图的一棵最小代价生成树的详细算法,并用程序实现你所给出的算法。注:圈就是回路。r
11、连通图的生成树包括图中的全部
个顶点和足以使图连通的
1条边,最小生成树是边上权值之和最小的生成树。故可按权值从大到小对边进行排序,然后从大到小将边删除。每删除一条当前权值最大的边后,就去测试图是否仍连通,若不再连通,则将该边恢复。若仍连通,继续向下删;直到剩
1条边为止。r
voidSp
TreeAdjListgr
用“破圈法”求解带权连通无向图的一棵最小代价生成树。r
typedefstructi
tijw
ode设顶点信息就是顶点编号,权是整型数r
odeedger
好听全球资料 返回顶部