数据结构之旅------二叉树

本文详细介绍了二叉树的基本概念,包括节点的度、叶节点、根节点、双亲节点等,并探讨了二叉树的五种形态、完美二叉树和完全二叉树的特点。此外,还讲解了二叉树的存储结构,包括顺序结构和链式结构,以及它们在存储完全二叉树时的应用。二叉树因其简单结构和高效运算在数据结构中占有重要地位。
摘要由CSDN通过智能技术生成
						## 二叉树 		

说明:这是个人笔记,欢迎大家指正,互相学习。感谢大家!

  • 节点的度:一个节点含有的子树个数称为该节点的度;
  • 叶节点:度为0的节点称为叶节点
  • 根节点:没有父节点的节点
  • 双亲节点或者父节点:若一个节点含有子节点,则这个节点称为其子节点的父节点
  • 孩子节点或子节点:一个节点含有的子节点成为这个节点的孩子节点
  • 兄弟节点:具有相同父节点的节点之间互为兄弟节点
  • 树的度:一棵树中,最大的节点度称为树的度
  • 树的高度和深度:树具有的层次
  • 堂兄弟节点:双亲在同一层的节点互为兄弟结点(同一个爷爷)
  • 节点的祖先:从根到该节点所经分支上的所有节点;
  • 子孙:以某节点为根的子树中任一节点都称为该节点的子孙。
  • 森林:由m棵互不相交的树的集合称为森林;

概念:

​ 二叉树(二分树),有限的结点集合,可以为空,或者有一个跟结点和两个乎不相交的左子树和右字数组成

优点:

​ 结构简单,存储效率高,运算算法实现简单。

二叉树的五种基本形态:

空二叉树,单结点的二叉树,左子树为空的二叉树,右子树为空的二叉树,左右子树都不为空的二叉树

特殊二叉树:

  • 斜二叉树:全部节点只有左孩子,或全部只有右孩子。实际上斜二叉树就是一个链表。

  • 完美二叉树(满二叉树):每个结点都有左右孩子(一颗高度为h且有2^h -1个结点的二叉树)

    特点

    1)叶子结点都在最下一层

    2)只有度为0和度为2的结点

  • 完全二叉树:

二叉树的抽象数据类型:

二叉树的性质:

  1. 二叉树上的终端结点数等于双分支结点数加1

  2. 二叉树上第i层上至多有2i-1个结点(i>=1)

  3. 深度为h的二叉树至多有2h-1个结点

  4. 对一棵二叉树中顺序编号为i的结点,若它存在左孩子,则左孩子结点的编号为2i;若它存在右孩子,则右孩子结点编号为2i+1;若它存在 双亲结点(即编号不等于1),则双亲结点的编号为⌊i/2⌋。

  5. 具有n个结点的理想二叉树的深度为⌈log2(n+1)⌉或⌊log2n⌋+17.


**8.二叉树的存储结构**

​		二叉树主要有两种存储结构,一种是顺序结构,一种是链式结构

8.1顺序结构:就是使用数组来存储,一般只适合表示完全二叉树(在物理上是一个数组,在结构上是一颗二叉树)

8.2链式结构:用链来表示一颗二叉树,即用链来指示元素的逻辑关系,每个节点油三个域组成(【数据域】【左右指针域】)---->左右指针域指向左右孩子所在的存储地址。


  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贴瓷砖的小钟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值