数据结构——二叉树(先序、中序、后序及层次四种遍历(C语言版))超详细~ (✧∇✧) Q_Q

本文详细介绍了二叉树的定义、特殊类型(如满二叉树和完全二叉树)、性质,以及先序、中序、后序和层序遍历的实现。还提供了计算节点个数的不同方法,包括示例代码和运行结果。

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

   

目录

   

二叉树的定义:

*特殊的二叉树:

 二叉树的性质:

 二叉树的声明: 

 二叉树的先序遍历:

 二叉树的中序遍历:

 二叉树的后序遍历:

二叉树的层序遍历: 

二叉树的节点个数:

二叉树叶节点个数: 

 最后完整代码:

运行结果: 


二叉树的定义:

  • 二叉树是n(n≥0)个结点的有限集合:
    ① 或者为空二叉树,即n = 0。
    ② 或者由一个根结点和两个互不相交的被称为根的左子树右子树组成。左子树和右子树又分别是一棵二叉树。
  • 特点:①每个结点至多只有两棵子树 ②左右子树不能颠倒(二叉树是有序树【注意区别:度为2的有序树】

一颗普通的二叉树(栗子): 

*特殊的二叉树:

1.满二叉树:一个二叉树,如果每一个层的节点数都达到最大值,则这个二叉树就是满二叉树。也就是说,一个二叉树的层数为k,且节点总数是(2^k-1),则它就是满二叉树。

2.完全二叉树:完全二叉树是效率很高的数据结构,完全二叉树是由满二叉树而引出来的。对于深度为k的,有n个节点的二叉树,当且仅当其每一个节点与k都与其深度为k的满二叉树中编号从1至n的节点一一对应时称之为完全二叉树。注意满二叉树是一种特殊的完全二叉树。

 二叉树的性质:

1.若规定根节点的层数为1,则一颗非空二叉树的第i层上最多有2^(i-1)个节点

2.若规定根节点的层数为1,则其深度为h的二叉树的最大节点数是2^h-1

3.对任何一颗二叉树,如果度为0期叶节点个数为n0,度为2的分支节点个数为n2,则有n0=n2+1;

即度为0的叶节点比度为2的分支节点多1

4.若规定根节点的层数为1,具有n个节点的满二叉树的深度h=log2(N+1).

 二叉树的声明: 

为了方便后续的操作与理解,这里给出二叉树的声明 

 二叉树的先序遍历:

 (1).先序遍历可以想象为,

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值