二叉树遍历方法

本文介绍了二叉树的概念,包括满二叉树和完全二叉树的定义,以及二叉树的三种遍历方法:先序遍历(根左右)、中序遍历(左根右)和后序遍历(左右根)。通过实例详细解析了遍历过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

​ 二叉树简介

二叉树是每个节点最多有两个子树的树结构。通常被称作左子树(left subtree)和右子树(right subtree),二叉树常被用于实现二叉查找树二叉堆。

二叉树  深度为K  并且有2^K-1个节点的二叉树称为满二叉树。这种树的特点是每一层的节点数都是最大节点数。而且在一棵二叉树中,除最后一层外,若其余层都是满的 并且最后一层或者是满的,或者是在右边缺少连续的若干个节点,则称为完全二叉树。具有n个节点的完全二叉树的深度为floor(log2n)+1.深度为K的完全二叉树至少有2^(K-1)个叶子节点,至多有2^K-1个节点。

二叉树遍历 

二叉树的遍历分为三种情况  分别为 先序,中序,后序  

 

1  先序(根左右)

先序遍历顺序为 根节点 ,左子树,右子树   

步骤

观察表格  先找根节点 ,找对应根节点的左子树 ,后找右子树,  按顺序查

根节点——>对应根节点的左子树(直到访问的左子树无叶子节点位置)——>最后向上找右子树

AB->ABD->ABDH->ABDHI->ABDHIEJK->ABDHIEJKCFML

->ABDHIEJKCFMLGNOP

ABDHIEJKCFMLGNOP

2 中序(左根右)

访问左子树。【先访问左子树中的左子树,再访问左子树中的右子树。】直到访问到叶子结点后输出。 输出根。

访问右子树。【先访问右子树中的左子树,再访问右子树中的右子树。】直到访问到叶子结点后输出。

左子树中的左子树(直到无节点)——> 根 ——> 右子树 

先找A 的左子树 1  ,再找B 的左子树 2,再找 D 的左子树  3. 3没有左子树  左根右 原则 3输出 HI   2 输出 HID 

4 输出 JEK

1 输出 HIDBJEK

总 的左子树部分  HIDBJEK

根                        A

A 的右子树 5,5的左子树 6 LMF  5 的根节点 C  输出 LMFC

5的 右子树 7 输出 NG ,7的 右子树8 输出PO  

总的右子树 LMFCNGPO  

即 中序排列

HIDBJEK  A  LMFCNGPO

 

3  后序(左右根)

 

先输出1 的  左子树 2 的左子树 3  IHD 

4 输出 JKE

1 输出 IHDJKEB

6 输出LMF ,8输出 PO ,7输出NPOG

5 输出 LMFNPOGC

即总右子树  LMFNPOGC 

后序 IHDJKEB LMFNPOGC  A

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值