1.对以下算法功能最准确的描述是()。
int fun1(BTreeNode *BT, ElemType e){
int n1, n2;
if (BT==NULL) return 0;
if (BT->data==e) return 1;
n1 = fun1(BT->left, e);
if (n1>=1) return n1+1;
n2 = fun1(BT->right, e);
if (n2>=1) return n2+1;
return 0;
}
A.判断二叉树根结点值是否为e
B.判断二叉树是否存在值为e结点
C.求二叉树中值为e结点的层次
D.求二叉树值为e的结点的个数
2. 对任意给定的含 n (n>2) 个字符的有限集 S,用二叉树表示 S 的哈夫曼编码集和定长编码集,分别得到二叉树 T1 和 T2。 下列叙述中,正确的是:
A.T1 与 T2 的结点数相同
B.T1 的高度大于 T2 的高度
C.出现频次不同的字符在 T1 中处于不同的层
D.出现频次不同的字符在 T2 中处于相同的层
A.10
B.50
C.80
D.100
纠正下,第二题选D,因为固定编码,所用的码位数都一样,所以都在最后一层
(1)C
因为有n1+1和n2+1,所以不可能是判断根节点和是否存在,排除AB(当然可以实现判断是否存在的目的,但是C更精确一些),因为左节点统计完后直接return了,所以不可能是统计数量,所以排除D。
(2)C
哈夫曼编码对不同频次的字符编码长度不一样,所以出现频次不同的字符在 哈夫曼编码中处于不同的层
(3)B
这个可以看一下下面的文章