1. 图中所示二叉树,求其中序序列
分析及参考答案::DJGBEACHFI
2. 已知一棵二叉树的中序序列为CBEDAHGIJF , 先序序列为ABCDEFGHIJ ,请画出该二叉树。 分析及参考答案::
3. 深度为5的二叉树至多有结点。
分析及参考答案::由公式12-k 得:
31125=- 故深度为5的二叉树至多有31个结点。
4. 已知一棵二叉树的先根遍历序列为:abdefcg 中根遍历序列为:dfebagc ,画出该二叉树
分析及参考答案::
二叉树公式5. 如图所示:求树的中序遍历序列
分析及参考答案::dfebagc
12. 已知二叉树中的结点类型用BinTreeNode 表示,被定义为:
struct BinTreeNode{char data; BinTreeNode *leftChid, *rightChild;};其中data 为结点值域,leftChild 和rightChild 分别为指向左、右子女结点的指针域,根据下面函数声明编写出求一棵二叉树高度的算法,该高度由函数返回。假定根结点的层次为0,参数BT 初始指向这棵二叉树的根结点。
Int BtreeHeight (BinTreeNode * BT);
分析及参考答案::
int BtreeHeight(BinTreeNode * BT){
if (BT = =NULL)return –1; //对于空树,返回-1并结束递归
else{
int h1=BtreeHeight(BT ->leftChild); //计算左子树的高度
int h2=BtreeHeight(BT ->rightChild); //计算右子树的高度
if (h1>h2)return h1+1;
else return h2+1; //返回树的高度,1分
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论