二叉堆可视化工具
交互式二叉最大堆(binary max-heap)——插入元素(insert)并取出最大值(extract-max),配合上浮(sift-up)/下沉(sift-down)动画,支持逐步执行和伪代码展示。完全在浏览器中运行。
伪代码
Run an operation to see its steps.
Avg · Worst
使用方法
- 1 输入一个数字并点击 Insert——观察它“上浮”到正确的位置。
- 2 点击 Extract Max 删除根节点,并观察堆的“下沉”过程。
- 3 使用 Random 插入一个随机值,或使用 Clear 清空整个堆。
- 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 →
相关工具
冒泡排序可视化工具
带动画演示的冒泡排序模拟器,提供单步执行、速度调节、自定义输入数据、实时比较/交换计数器以及伪代码同步高亮。完全在浏览器中运行。
打开工具插入排序可视化工具
动画演示插入排序算法,支持单步执行、速度调节、自定义输入数据,并实时显示比较/写入次数与伪代码高亮。完全在浏览器本地运行。
打开工具选择排序可视化工具
以动画方式演示选择排序(Selection Sort),提供逐步执行、速度调节、自定义输入数据、实时的比较/交换计数器以及伪代码展示。完全在浏览器本地运行。
打开工具归并排序可视化工具
带动画演示的归并排序模拟器,支持单步执行、速度调节、自定义输入数据、实时比较/写入计数器以及伪代码高亮显示。完全在浏览器中运行。
打开工具在 Zerethon Social 上创作、分享与成长
免费注册。赚取积分,收集成就,与全球创作者建立联系。