当前位置:   article > 正文

5.6树和二叉树——二叉树的遍历算法的应用_二叉树遍历算法应用 【问题描述】根据二叉链表结构,计算二叉树的结点数。 【输入

二叉树遍历算法应用 【问题描述】根据二叉链表结构,计算二叉树的结点数。 【输入

目录

1.建立二叉树

2.复制二叉树

3.计算二叉树的深度

 4.计算二叉树结点总数

5.计算二叉树的叶子结点数


1.建立二叉树

算法思想:按照先序遍历序列建立二叉树的二叉链表,由于已知一种先序序列可以构造出多棵不同的二叉树,我们在这里引入在先序序列中增加“#”的算法解决这个问题

  1. Status CreateBiTree(BiTree &T){
  2. scanf(&ch);
  3. if(ch="#") T=NULL;
  4. else{
  5. if(!(T=(BiTNode*)malloc(sizeof(BiTNode))))
  6. {
  7. exit(OVERFLOW);
  8. }
  9. T->data=ch;//生成根结点
  10. CreateBiTree(T->lchild);//构造左子树
  11. CreateBiTree(T->rchild); //构造右子树
  12. }
  13. return OK;
  14. }

2.复制二叉树

算法思想:如果是空树,递归结束;否则,申请新的结点空间,复制根结点,再依次递归复制左子树和右子树

  1. Status CopyBiTree(BiTree T,BiTree &NewT){
  2. if(T=NULL) return NULL;
  3. else{
  4. T=(BiTNode*)malloc(sizeof
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Guff_9hys/article/detail/990635
推荐阅读
相关标签
  

闽ICP备14008679号