数据结构学习笔记7——二叉树介绍

本文详细介绍了二叉树的基本定义,如路径、深度、高度等,并区分了满二叉树与完全二叉树的概念。同时,给出了二叉树遍历的三种方式:前序遍历、中序遍历及后序遍历的具体步骤。

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

1,二叉树相关定义

路径(path):如果一棵树的一串结点n1,n2,...,nk满足前一个结点是后一个节点的父结点,则称这一串结点为从n1到nk的路径,这条路径的长度是k-1;
路径长度(length):一条路径上的结点数-1;
结点的深度(depth):从根节点到节点M的路径长度,根结点深度为0;
节点的层数(level):数值上与深度相等,根结点的层数为0;
树的高度(height):最深结点的深度+1;
叶结点(leaf):没有非空子树的结点;
分支节点、内部结点(internal node):至少有一个非空子树的结点;

满二叉树(full binary tree):每个结点要么是叶结点,要么是有两个非空子节点的内部结点。即,不存在只有一个子节点的内部结点。
完全二叉树(complete binary tree):除了最下面一层,每一层都被填满,且最下面一层也必须是从左到右填充。


图中,a为满二叉树,b为完全二叉树。


2,二叉树相关定理

定理1,满二叉树定理:
非空满二叉树的叶结点数等于其分支结点数加1.

定理2,:
一棵非空二叉树空子树的数目等于其结点数加1


3,遍历二叉树相关概念


前序遍历(preorder traversal):先访问节点,后访问子结点(其实还有先访问左子树,后访问右子树),上图二叉树前序遍历结果为:ABDCEGFHI
简记:中左右

后序遍历(postorder traversal):先访问子结点(包括他们的子树),然后再访问他们的结点(同样还是要求先左子树,后右子树)。DBGEHIFCA
注意:对于后序遍历,要想访问一个结点,必须先访问它的左右子结点,等它的左右子树都访问完了,才能访问该结点。
简记:左右中

中序遍历(inorder  traversal):先访问左子结点(包括整个子树),然后访问该结点,最后访问右子结点(包括整个子树)。BDAGECHFI
逻辑:要想访问A,必须先访问B,要想访问B,必须先访问B的左子结点,为空,所以可以直接访问B,然后访问B的右子结点D,此时A的左子树完成访问,可以访问A了,接下来访问A的右子树,要想访问C必须先访问C的左子结点E,要想访问E必须先访问G,所以顺序是GEC,同样,要想访问F必须先访问H,F访问忘了之后才可以访问I,所以顺序是HFI
简记:左中右
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值