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

二叉树和堆

  1. 二叉树不存在度大于2的结点(每个根最多只有两个子结点)
  2. 二叉树的子树有左右之分,次序不能颠倒,因此二叉树是有序树
    在这里插入图片描述

在这里插入图片描述
两个特殊的二叉树——(满二叉树,完全二叉树)
满二叉树——每个根结点都有左右两个子结点:
在这里插入图片描述
完全二叉树:虽然不是每个根都有两个子结点,但是前(h-1)层是满的,最后一层的子节点的增加必须是先增加左结点,再增加右结点,且中间不能为空(满二叉树也是特殊的完全二叉树)
在这里插入图片描述
在这里插入图片描述
二叉树的存储:——顺序存储——堆
顺序存储就是把一个二叉树存在一个数组中
在这里插入图片描述
堆:把具有特殊值规律的完全二叉树存入到数组中就是堆,堆不仅要满足上面二叉树存入数组的规则,还要满足存入数组里的二叉树必须是小堆或大堆:
在这里插入图片描述
注意:我们这里所说的堆是数据结构中数据存储的一种方式,并不是操作系统中所说的内存里的堆
例题:

在这里插入图片描述
总结:二叉树要储存在数组中必须要是完全二叉树或满二叉树,完全二叉树或满二叉树存储在数组中还不一定是堆,要看他是否满足大堆小堆的条件

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

相关文章:

  • 洛谷P5732 【深基5.习7】杨辉三角题解
  • Docker 精简安装 Nacos 2.2.1 单机版本
  • IntelliJ IDEA配置Cplex12.6.3详细步骤
  • 2023 年最佳多 GPU 深度学习系统指南
  • Kotlin异常处理runCatching,getOrNull,onFailure,onSuccess(1)
  • 【深入探究人工智能】:历史、应用、技术与未来
  • 【设计模式】五、原型模式
  • day36-注解
  • 【C语言数据结构——————栈和队列4000字详解】
  • 电子地图 | VINS-FUSION | 小觅相机D系列
  • C++goto语句
  • Spring学习笔记11 GoF代理模式
  • 代码随想录二刷 Day23
  • Ubuntu `apt` 报错 “Errors were encountered while processing: base-passwd“ 的解决方法
  • XXL-JOB分布式任务调度
  • 加拿大人工智能数据搜索平台【Secoda】完成1400万美元A轮融资
  • less与sass
  • c-const修饰指针-day16
  • 已解决: Go Error: no Go files in /path/to/directory问题
  • 2022年6月和7月的工作经历
  • 【图像处理】SIFT角点特征提取原理
  • flutter开发实战-应用更新apk下载、安装apk、启动应用实现
  • DispatcherServlet初始化之Spring容器创建1.0
  • CSS的基础
  • mathtype如何嵌入到word中?详细mathtype安装步骤教程
  • 云安全之访问控制的常见攻击及防御
  • Java编程技巧:跨域
  • react create-react-app 配置less
  • 树的表示——孩子兄弟表示法
  • Windows11安装MySQL8.1