(数据结构)二叉树
创始人
2025-05-28 14:34:35

目录

    • 一、简介
    • 二、性质
    • 三、🪄存储结构
      • 1) 顺序存储
      • 2)🌟链式存储

此篇是另一种数据结构类型——树的一个分支,大名鼎鼎的二叉树。

一、简介

在这里插入图片描述

形如上图的数据结构叫做二叉树。
  • 最上面的那个节点A,叫做根节点

  • 一个节点,有左子树右子树,两个子树。

    A的左子树是BDEH。而E的左子树是空(或者称没有左子树),右子树是H

  • 一个节点含有的子树的根节点称为该节点的子节点

    BA的子节点。

  • 如果一个节点有子节点,那该节点称为其子的结点的父节点

    AB C的父节点。

  • 一个节点含有子树的个数称为该节点的

    A B C都是度为2的节点,E是度为1的节点。

  • 度为0的节点称为叶节点

    D H F G都是叶节点。
    ++++++

  1. 满二叉树
    在这里插入图片描述

    如果一个二叉树的节点数的层数为 kkk ,每一层节点都满足2k−12^{k-1}2k−1 个,那就是满二叉树

  2. 完全二叉树
    在这里插入图片描述

对于一个有kkk层的二叉树,如果其k−1k-1k−1层是完全二叉树,并且其第kkk层节点是依次从左到右按顺序的,那就是完全二叉树满二叉树是一种特殊的完全二叉树。

二、性质

  1. 一个二叉树第kkk层,最多有zk−1z^{k-1}zk−1个节点

  2. 深度为kkk的满二叉树,一共有2k−12^k-12k−1个节点。
    20+21+22+...+2k−1=20∗2k−12−1=2k−12^0 + 2^1 + 2^2 +...+2^{k-1}\\=2^0*\frac{2^k-1}{2-1}\\=2^k-1 20+21+22+...+2k−1=20∗2−12k−1​=2k−1

  3. 有nnn个节点的满二叉树,它的深度k=log2(n+1)k = log_2(n+1)k=log2​(n+1)。

  4. 任意一个二叉树,如果叶节点个数为n0n_0n0​,度为2的节点有n2n_2n2​个,则满足n0=n2+1n_0 = n_2+1n0​=n2​+1。

三、🪄存储结构

1) 顺序存储

  1. 用顺序表的结构来存储一个二叉树的数据,是顺序存储~~

  2. 在这里插入图片描述

  3. 对于具有nnn个节点的二叉树,如果按照完全二叉树的结构进行编号,从000开始,到第n−1n-1n−1个 节点,则对序号为iii个节点:

    • 如果i>0i>0i>0,则他的父节点序号为(i−1)/2(i-1)/2(i−1)/2
    • 如果2i+1左孩子序号为2i+12i+12i+1
    • 如果2i+2左孩子序号为2i+22i+22i+2

    因此可以将二叉树数据存储在顺序表结构中,通过该规律访问来实现二叉树。

  4. 堆的实现

2)🌟链式存储

  1. 可以利用一个双向链表的结构来存储二叉树的数据,也称二叉树的链式结构

  2. 在这里插入图片描述

  3. 通过链表中的左右指针分别对二叉树结点的左孩子和右孩子进行连接,通过指针访问来实现二叉树。

  4. 二叉树链式结构的实现

相关内容

热门资讯

猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
吸猫伐是什么意思 吸猫是吸哪里 作为铲屎官,相信对于网络上流行的各种与猫咪相关的梗都是了然于心的,什么吸猫啦,撸猫啦,云养猫啦……等...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
重庆属于哪个省份的 重庆在中国... 重庆有多大,大到超出我们的想象,重庆作为我国4个直辖市之一,印象里应该跟京津沪面积差不多,可事实上却...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...