二叉树的遍历

本文详细介绍了二叉树的四种遍历方法:先序遍历、中序遍历、后序遍历和层次遍历,包括递归和非递归实现。同时,提供了后序遍历算法用于查找节点的所有祖先节点。层次遍历通过环形队列实现,依次访问每层节点。
摘要由CSDN通过智能技术生成

一、二叉树的遍历

二叉树遍历的概念: 二叉树的遍历是指按照一定次序访问树中所有节点,并且每个节点仅被访问一次的过程。它是最基本的运算,是二叉树中所有其他运算的基础。

1.  先序遍历过程

先序遍历二叉树的过程是:① 访问根节点;②先序遍历左子树;③先序遍历右子树。

2.  中序遍历过程

中序遍历二叉树的过程是: 中序遍历左子树; 访问根节点;中序遍历右子树。

3.  后序遍历过程

后序遍历二叉树的过程是: 后序遍历左子树;后序遍历右子树;访问根节点。

4.  层次遍历过程

层次遍历二叉树的过程是: ①访问根节点(第1层)②按照从上到下、从左往右访问第2到第h层所有节点


二、二叉树遍历递归算法

1.  先序遍历的递归算法:

       void PreOrder(BTNode *b)
    {  if (b!=NULL)  
       {  printf("%c ",b->data); //访问根节点
    PreOrder(b->lchild);
    PreOrder(b->rchild);
       }

  }

2.  中序遍历的递归算法:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值