Inorder&Postorder&LevelOrder

 递归迭代
中序遍历О(n)О(n)
PostorderО(n) 

中序遍历

递归 

if ( !x ) 
    return; //处理递归基
traverse( x->lChild, visit ); //遍历左子树
visit( x->data); //访问根节点
traverse( x->rChild, visit ); //遍历右子树

迭代 

  1. 控制权转交给左孩子;图中的被发现状态和visited状态 
  2. 访问左侧链节点,遍历右子树; 左式堆
  3. 逆序性:最先被访问的是最后被发现的,自下而上;采用后进先出的结构:栈。
  4. 分摊分析

后序遍历

递归

if ( !x )
    return;
traverse( x->lChild, visit );
traverse( x->rChild, visit );
visit( x->data );

 

层次遍历

迭代 

while ( ! Q.empty() ){
    BinNodePosi(T) x = Q.dequeue();
    visit( x->data );
    if ( HasLChild( * x ) )
        Q.enquene( x->lc );
    if ( HasLChild( * x ) )
        Q.enquene( x->rc );
}

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值