当前位置: 首页 > news >正文

【数据结构】二叉树基础入门

在这里插入图片描述

💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤
📃个人主页 :阿然成长日记 👈点击可跳转
📆 个人专栏: 🔹数据结构与算法🔹C语言进阶
🚩 不能则学,不知则问,耻于问人,决无长进
🍭 🍯 🍎 🍏 🍊 🍋 🍒 🍇 🍉 🍓 🍑 🍈 🍌 🍐 🍍

文章目录

  • 一、二叉树的概念
  • 二、二叉树的特点
  • 三、特殊的二叉树
    • 1.满二叉树:
    • 2.完全二叉树:
  • 四、二叉树的存储
    • 1.数组存储:
    • 2.链式存储

一、二叉树的概念

一棵二叉树是结点的一个有限集合,该集合:

  1. 或者为空
  2. 由一个根节点加上两棵别称为左子树和右子树的二叉树组成
    如下图:在这里插入图片描述

二、二叉树的特点

1.二叉树的度最大为2.即一个节点最多有两个孩子。
2.二叉树可以只有一个根节点,度为0.
3.二叉树的子树有左右之分,是一个有序树。

三、特殊的二叉树

1.满二叉树:

一个二叉树,如果每一个层的结点数都达到最大值,则这个二叉树就是满二叉树。

在这里插入图片描述
特点:一个H层的满二叉树,其节点数=2^H-1

2.完全二叉树:

1.在完全二叉树中,除了最后一层外,所有层的节点数量都是满的,且最后一层的节点都集中在左侧。
2.如果一个结点的索引是 i,则它的左子节点的索引是 2i,右子节点的索引是 2i+1。反之,如果一个节点的索引是 i,则它的父节点的索引是 i/2。

满二叉树是一种特殊的完全二叉树。
在这里插入图片描述
特点:
1)相对于其他类型的二叉树,它更容易实现和操作。
2)具有 n 个节点的完全二叉树的高度为 log(n)。
3)在完全二叉树中,除了最后一层可能不满外,其他层都是满的。

最少:2^(H-1)-1+1 = 2^(H-1)
最多:相当于满二叉树:2^H-1
一个H层的完全二叉树,其节点数范围[2^(H-1)~2^H-1]
在这里插入图片描述

四、二叉树的存储

1.数组存储:

这种存储方式适用于完全和满二叉树。还有
在这里插入图片描述
计算:
给定双亲节点,求
左孩子=双亲节点*2+1
右孩子=双亲节点*2+2
给定孩子节点,求
双亲节点=(孩子节点-1)/2

2.链式存储

对于普通二叉树来说,不适合顺序存储方式,因为有可能在补充为完全二叉树过程中,补充太多的0,而浪费大量空间,因此普通二叉树一般使用链式存储。

每一个节点的组成如下图所示
在这里插入图片描述
在这里插入图片描述
具体结构如下图所示:
在这里插入图片描述

http://www.lryc.cn/news/162527.html

相关文章:

  • MFC自定义消息的实现方法----(线程向主对话框发送消息)、MFC不能用UpdateData的解决方法
  • Linux单列模式实现线程池
  • 汇川PLC学习Day3:轴控代码编写、用户程序结构说明与任务配置示例、用户变量空间与编址
  • javaee springMVC Map ModelMap ModelAndView el和jstl的使用
  • vue监听表单输入的身份证号自动填充性别和生日
  • 蓝桥杯官网练习题(翻硬币)
  • 企业架构LNMP学习笔记34
  • Python学习之六 循环结构
  • flutter 网络地址URL转file
  • 【JavaEE基础学习打卡07】JDBC之应用分层设计浅尝!
  • Helm Kubernetes Offline Deploy Rancher v2.7.5 Demo (helm 离线部署 rancher 实践)
  • 网络编程day6——基于C/S架构封装的线程池
  • ARM/X86工业级数据采集 (DAQ) 与控制产品解决方案
  • 【Java】Jxls--轻松生成 Excel
  • MySQL主从复制读写分离
  • Kafka3.0.0版本——消费者(手动提交offset)
  • 【AIGC专题】Stable Diffusion 从入门到企业级实战0403
  • linux提权
  • Excel VSTO开发7 -可视化界面开发
  • 英文科技论文写作与发表-投稿到发表(第6章)
  • 2.4.3 【MySQL】设置系统变量
  • 【Redis】2、Redis持久化和性能管理
  • MIT6.S081实验环境搭建
  • spring spring-boot spring-cloud spring-cloud-alibaba之间版本对应关系
  • Docker技术入门 | Part01:Docker简介
  • Apache实现weblogic集群配置
  • Java面试题总结2023
  • 采用ROUANT 方法对 nex-gddp-cmip6 数据进行精度校正
  • 超级电容-电池-超级电容混合储能系统能量管理simulink仿真建模模型
  • 最新仿闲鱼链接+独立后台管理 跳转APP