if (T != NULL) {
CountLeaf(T->left); CountLeaf(T->right);
if (T->left == NULL && T->right == NULL) count++; }
return count; }
int Depth(Tree *T) {
int depthLeft, depthRight, depth; if (T == NULL) return -1; else {
depthLeft = Depth(T->left); depthRight = Depth(T->right);
depth = 1 + (depthLeft > depthRight ? depthLeft:depthRight); }
return depth; }
2.32.给定一组元素{17,28,36,54,30,27,94,15,21,83,40},画出由此生成的二叉排序树。 解:
17
15 28 27 36
21 30 54
40 94
83
2.33.给定一组权值W={8,2,5,3,2,17,4},画出由此生成的哈夫曼树。
17
8 5 4
3
2.34.有一图如题图2.4所示: (1)写出此图的邻接表与邻接矩阵;
(2)由给点V1作深度优先搜索和广度优先搜索; (3)试说明上述搜索的用途。 2 10 9 11 18 1 8 19 17 2 2 12 3 20 7 16 13
解:(1)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 1 4 3 1 5 6 11 8 2 10 3 12 4 6 5 3 2 5 4 7 8 7 10 9 12 11 14 13 14 8 10 12 14 6 15 17 15 18 11 19 13 20 15 16 ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^

