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

【什么是二叉树?什么是二叉堆?】

二叉树 = 大家族
二叉堆 = 二叉树里的一种特殊“规矩树”


1. 二叉树是什么?

就是每个节点最多只有两个孩子的树:

  • 左孩子
  • 右孩子

长这样:

A / \ B C / \ D E

没有任何其他规则!
只要每个节点 ≤2 个孩子,就叫二叉树。


2. 二叉堆是什么?

二叉堆 = 满足两个特殊规则的完全二叉树

它必须同时满足:

  1. 是完全二叉树(除了最后一层,前面全满,最后一层靠左排满)
  2. 堆序性质
    • 大顶堆:父节点 ≥ 子节点
    • 小顶堆:父节点 ≤ 子节点

所以:

**二叉堆一定是二叉树

但二叉树不一定是二叉堆**


3. 最直观的区别

  • 二叉树:只限制最多两个孩子
  • 二叉堆:限制结构 + 大小关系,是有序、可用来快速找最大/最小值的工具

4. 二叉堆用来干嘛?

  • 快速取最大值 / 最小值O(1)
  • 插入、删除 O(log n)
  • 堆排序
  • TopK 问题
  • 优先级队列(Java 里的 PriorityQueue 底层就是二叉堆)

5. 超级好理解的比喻

  • 二叉树 = 普通家庭,最多生两个孩子
  • 二叉堆 = 纪律严明的家庭,爸爸一定比儿子大(或小),而且排队必须靠左站

6.图示说明

1. 普通二叉树

(只有一个规则:最多两个孩子

5 / \ 3 8 \ 4
  • 可以缺左、缺右
  • 大小随便乱
  • 没有任何顺序要求

2. 完全二叉树

(结构规则:除最后一层,前面都满;最后一层靠左排满

1 / \ 2 3 / \ 4 5
  • 结构很整齐
  • 不会中间空,不会右边空左边有
  • 大小还是可以乱

3. 大顶堆(最大堆)

必须同时满足:

  1. 是完全二叉树
  2. 父节点 ≥ 子节点
9 / \ 7 8 / \ 6 5
  • 堆顶(最上面)是最大值
  • 任何父 ≥ 子

4. 小顶堆(最小堆)

必须同时满足:

  1. 是完全二叉树
  2. 父节点 ≤ 子节点
2 / \ 3 4 / \ 5 6
  • 堆顶(最上面)是最小值
  • 任何父 ≤ 子

一句话总结(背这个就够)

  • 二叉树:最多俩孩子,结构随便
  • 完全二叉树:结构整齐、靠左排满
  • 二叉堆= 完全二叉树 + 大小规则
    • 大顶堆:爸爸 ≥ 儿子
    • 小顶堆:爸爸 ≤ 儿子

http://www.cnnetsun.cn/news/1309166.html

相关文章:

  • 冒泡,选择,插入排序再学习
  • 【全网首家】·openclaw开发的GEO优化系统|小龙虾GEO系统|小龙虾专属GEO优化助理
  • TensorFlow eager模式超流畅
  • ARM Cortex‑M带U大介绍,内核都带啥U!
  • 视频如何防盗录传播.使用加密软件,轻松几步就可以解决烦恼
  • 制造业信息化系统开发工程师 - 学习资料汇总
  • 《低电压设计必看!轨到轨运放选型、电路搭建与常见坑避坑手册》
  • 不只是调包:Transformer编码器的原理与实现(一)
  • Linux系统重置root(破解密码)
  • JavaScript性能优化实战辰姿
  • TCP/IP网络-网络接口层标准
  • 黄仁勋发布万字长文:AI是一个五层蛋糕,万亿建设量还在后面
  • c语言初学
  • 编译器扩展与C++兼容性
  • Spring Aop失效的情況及解决办法
  • java毕业设计——基于JSP+sqlserver的网上超市设计与实现(毕业论文+程序源码)——网上超市
  • GD32E232的Modbus串口编程入门
  • PlayGround AI —— 使用图片生图器轻而易举
  • CN_GreenLumaGUI 项目常见问题解决方案
  • 如何使用 Boost.Python 实现 C++ 与 Python 的无缝桥接:完整指南
  • 10倍提升Laravel应用性能:图像优化完全指南(2025最新版)
  • 终极Grafana Dash Gen问题解决方案:从入门到精通的完整指南
  • 【开源】基于51单片机的简易智能楼道照明设计
  • 贡献者必读:如何为Its Hover图标库提交新的动画图标
  • 解决Meta Llama模型转换中的符号链接错误:3种方案让模型部署提速90%
  • Docker-Android环境变量终极指南:解锁容器化Android的全部潜能
  • RequireJS终极指南:如何构建高性能前端模块加载系统
  • YAPF性能优化终极指南:让大型Python项目格式化速度提升300%
  • Druid数据本地化终极指南:10个存储访问优化技巧
  • 终极指南:掌握dio指数退避策略,让网络请求永不失败