跳到主要内容
Z

二叉堆可视化工具

交互式二叉最大堆(binary max-heap)——插入元素(insert)并取出最大值(extract-max),配合上浮(sift-up)/下沉(sift-down)动画,支持逐步执行和伪代码展示。完全在浏览器中运行。

免费 无需注册 客户端运行 注重隐私 Updated

/

伪代码

Run an operation to see its steps.

使用方法

  1. 1 输入一个数字并点击 Insert——观察它“上浮”到正确的位置。
  2. 2 点击 Extract Max 删除根节点,并观察堆的“下沉”过程。
  3. 3 使用 Random 插入一个随机值,或使用 Clear 清空整个堆。
  4. 4 对任意操作进行逐步执行,并跟随高亮显示的伪代码查看每一步。

为什么使用此工具

  • 以树形图的方式查看二叉最大堆,最大值始终位于根节点。
  • 观察插入后的上浮(sift-up)和取出后的下沉(sift-down)如何恢复堆的性质。
  • 理解为什么插入和取出操作的时间复杂度都是 O(log n)——恰好等于树的高度。
  • 完全在你的浏览器中运行,无需注册,也无需上传任何数据。

常见问题

什么是二叉堆(binary heap)?

二叉堆是一种以数组形式存储的完全二叉树,其中每个父节点都满足堆的性质。在最大堆(max-heap)中,每个父节点都大于等于其子节点(因此最大值位于根节点);在最小堆(min-heap)中,每个父节点都小于等于其子节点。

堆操作的时间复杂度是多少?

插入(insert)和取出最大值(extract-max)的时间复杂度都是 O(log n)——因为一个值上移或下移的距离最多等于树的高度。而查看最大值只需要 O(1)。

堆是如何用数组存储的?

这棵树是以隐式方式表示的:索引为 i 的节点,其子节点位于 2i+1 和 2i+2,父节点位于 ⌊(i−1)/2⌋。完全不需要使用指针。

堆有什么用途?

常用于优先队列(priority queue)、堆排序(heap sort)、Dijkstra 算法和 Prim 算法,以及任何需要不断取出当前最大值(或最小值)的场景。

什么是 二叉堆可视化工具?

二叉堆可视化工具展示的是一个二叉最大堆——一种以数组形式存储的完全二叉树,其中每个父节点的值都大于或等于其子节点。工具会呈现插入后的上浮(sift-up)过程,以及取出最大值后的下沉(sift-down)过程,确保最大值始终位于根节点。

概要

二叉堆可视化工具 是 Zerethon Tools 提供的免费 算法 工具。交互式二叉最大堆(binary max-heap)——插入元素(insert)并取出最大值(extract-max),配合上浮(sift-up)/下沉(sift-down)动画,支持逐步执行和伪代码展示。完全在浏览器中运行。. 完全在浏览器中运行 — 无需注册,无需上传。

分类
算法
价格
免费
隐私
基于浏览器
注册
无需

隐私

除非另有说明,否则你的数据永远不会离开浏览器。二叉堆可视化工具 完全在客户端运行 — 无需上传服务器,不记录日志,不追踪你输入的内容。

刚接触?阅读包含 Big-O 分析的分步讲解: 了解 Data Structures →

相关工具

在 Zerethon Social 上创作、分享与成长

免费注册。赚取积分,收集成就,与全球创作者建立联系。

免费试用 Zerethon