1、设t是给定的一棵二叉树,下面的递归程序cou
tt用于求得二叉树t中具有非空的左右两个儿子的结点个数N2只有非空左儿子的个数NL只有非空右儿子的结点个数NR和叶子结点个数N0。N2、NL、NR、N0都是全局量,且在调用cou
tt之前都置为0typedefstruct
odei
tdatastruct
odelchildrchild
odei
tN2NLNRN0voidcou
t
odetiftlchildNULLif1___N2elseNLelseif2___NRelse3__iftlchildNULL4____iftrchildNULL5____26树的先序非递归算法。voidexamplebbtreebbtreestack20p;i
ttopifb
ulltop1stacktopbwhiletop0pstacktoptoppri
tf“d”pdataifprchild
ull1___2___ifplchild
ull3___4__2、给定
个村庄之间的交通图,若村庄i和j之间有道路,则将顶点i和j用边连接,边上的Wij表示这条道路的长度,现在要从这
个村庄中选择一个村庄建一所医院,问这所医院应建在哪个村庄,才能使离医院最远的村庄到医院的路程最短试设计一个解答上述问题的算法,并应用该算法解答如图所示的实例。20分voidHospitalAdjMatrixwi
t
在以邻接带权矩阵表示的
个村庄中,求医院建在何处,使离医院最远的村庄到医院的路径最短。fork1k
k求任意两顶点间的最短路径fori1i
iforj1j
jifwikwkjwijwijwikwkjmMAXINT设定m为机器内最大整数。fori1i
i求最长路径中最短的一条。s0forj1j
j求从某村庄i(1i
)到其它村庄的最长路径。ifwijsswij
fifsmmski在最长路径中,取最短的一条。m记最长路径,k记出发顶点的下标。Pri
tf“医院应建在d村庄,到医院距离为d
”imfor算法结束对以上实例模拟的过程略。各行中最大数依次是9,9,6,7,9,9。这几个最大数中最小者为6,故医院应建在第三个村庄中离医院最远的村庄到医院的距离是6。1、对图1所示的连通网G,请用Prim算法构造其最小生成树(每选取一条边画一个图)。3、设有一个数组中存放了一个无序的关键序列K1、K2、、K
。现要求将K
放在将元素排序后的正确位置上,试编写实现该功能的算法,要求比较关键字的次数不超过
。51借助于快速排序的算法思想,在一组无序的记录中查找给定关键字值等于key的记录。设此组记录存放于数组rlh中。若查找成功,则输出该记录在r数组中的位置及其值,否则显示“
otfi
d”信息。请编写出算法并简要说明算法思想。
fr