数据结构入门---初始二叉树(下)

本文详细介绍了二叉树的四种遍历方法:前序遍历、中序遍历、后序遍历和层序遍历,并通过递归和队列实现了这些遍历。同时,讲解了如何根据前序遍历的序列创建二叉树,帮助读者深入理解二叉树的结构和操作。
摘要由CSDN通过智能技术生成

这篇文章我们准备将二叉树实现为具体的代码

首先我们要从二叉树的遍历说起。二叉树的遍历主要有四种形式

1. 前序遍历
方法:如果二叉树为空,则直接返回。如果二叉树非空,则访问根结点,再前序遍历左子树,然后前序遍历右子树
我们可以知道这样的遍历方式是以递归形式给出的。那么我们以下面这棵树为例,它的前序遍历顺序为: A B D G H C E F

这里写图片描述

对于整个遍历过程,首先从根结点开始。
1.访问根结点A
2.访问A的左子树的根结点B(这样描述是为了体现出递归,这里进入了对左子树的递归遍历)
3.访问B的左子树的根结点D
4.访问D的左子树的根结点G
5.访问G的左子树的根结点,此时为空,什么也不做,G的左子树遍历完毕。开始遍历G的右子树
6.访问G的右子树的根结点,为空,什么也不做,这时D的左子树遍历完毕
7.向上返回至D,开始递归的前序遍历D的右子树,所以访问结点H
8.H的左右子树均为空。所以什么也不做,向上返回(如步骤5,6)。这时以B为根的左子树,也就是以D为根结点的树遍历完毕了
9.返回至B,遍历B的右子树,为空,返回。这时B为根节点的树遍历完毕,也就是A的左子树遍历完毕
10. 返回至A,开始遍历A的右子树。访问A的右子树根结点C。
11. 前序遍历C的左子树,访问C的左子树根结点E。
12. E左右子树均为空,C的左子树遍历完毕,开始遍历C的右子树。于是访问F
13. F左右子树均为空,这时以A为根的右子树遍历完毕。
14. 整棵树遍历完毕

2.中序遍历
方法:如果二叉树为空,则直接返回。如果二叉树非空,则从根结点开始中序遍历左子树,然后访

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值