二叉树的基础代码:遍历+深度

求二叉树的深度(后序遍历)

int Depth (BiTree T )       // 返回二叉树的深度

  if ( !T )    depthval = 0;

  else{

    depthLeft = Depth( T->lchild );

    depthRight= Depth( T->rchild );

    depthval = 1 + (depthLeft > depthRight ?depthLeft : depthRight);

    }    

  return depthval;

}

遍历二叉树

void Preorder (BiTree T,void( *visit)(TElemType& e))

{     // 先序遍历二叉树

if (T) {

  visit(T->data);            // 访问结点

  Preorder(T->lchild, visit); // 遍历左子树

  Preorder(T->rchild, visit);// 遍历右子树

   }

}

void Inorder (BiTree T,void( *visit)(TElemType& e))

{   // 中序遍历二叉树

if (T) {

   Inreorder(T->lchild, visit); // 遍历左子树

  visit(T->data);       // 访问结点

  Inreorder(T->rchild, visit); // 遍历右子树

      }

}

void Postorder (BiTree T,void( *visit)(TElemType& e))

{    // 后序遍历二叉树

if (T) {

  Postreorder(T->lchild, visit);  // 遍历左子树

  Postreorder(T->rchild, visit);// 遍历右子树

  visit(T->data);         // 访问结点

     }

}

 

转载于:https://www.cnblogs.com/hellochennan/p/6702349.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值