数据结构——二叉树

本文详细介绍了二叉树的基本特点,包括斜树、满二叉树和完全二叉树的概念,以及二叉树的节点数量与深度的关系。此外,还探讨了二叉树的顺序存储结构和二叉链表,以及前序、中序、后序和层序遍历等遍历原理。这些内容对于理解二叉树的性质和操作至关重要。

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

二叉树的特点:

  • 每个节点最多有两个子树
  • 左子树和右子树是顺序的,次序不能仍以颠倒
  • 即使数中树有一个子树,也要区分它是左子树还是右子树。

特殊的二叉树

  • 斜树:所有节点都只有左子树的二叉树叫左斜树,所有节点都只有右子树的二叉树叫右斜树
  • 满二叉树:如果所有分支节点都存在左子树和右子树,并且所有叶子都在同一层上,这样的二叉树称为满二叉树
  • 完全二叉树:对于一颗具有 n n n节点的二叉树按层序编号,如果编号为 i i i的节点与同样深度的满二叉树中编号为 i i i的节点在二叉树中的位置完全相同,则这颗二叉树称为完全二叉树

    平衡二叉树的性质

    • 在二叉树的第i层之多右 2 i − 1 2^{i-1} 2i1个节点
    • 深度为k的二叉树至多右 2 k − 1 2^{k}-1 2k1个节点
    • 任何一个二叉树T,如果其终端节点数为 n 0 n_{0} n0,度为2的节点数为 n 2 n_{2} n2,则 n 0 = n 2 + 1 n_{0}=n_{2}+1 n0=n2+1
    • 具有n个节点的完全二叉树深度为 ⌊ l o g 2 n ⌋ + 1 \lfloor log_{2}n \rfloor+1 log2n+1
    • 如果对一颗有n个节点的完全二叉树的节点按增序编号,对任一节点i有:
      1,如果 i = 1 i=1 i=1,则节点 i i i是一颗二叉树的根,无双亲,如果 i > 1 i>1 i>1,则双亲是节点 ⌊ i / 2 ⌋ \lfloor i/2 \rfloor i/2
      2,如果 2 i > n 2i>n 2i>n,则节点 i i i无左孩子;否则其左孩子节点为 2 i 2i 2i
      3,如果 2 i + 1 > n 2i+1>n 2i+1>n,则节点 i i i无右孩子;否则其左孩子节点为 2 i + 1 2i+1 2i+1

二叉树的存储结构

  • 顺序存储结构
  • 二叉链表

    二叉树遍历原理

    • 前序遍历
    • 中序遍历
    • 后序遍历
    • 层序遍历
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值