二叉搜索树可视化工具
交互式二叉搜索树——插入、查找、删除,配合动态树形图、分步控制和伪代码高亮。直接在浏览器中运行。
伪代码
Run an operation to see its steps.
Avg · Worst
使用方法
- 1 输入一个数字并点击 Insert 将其加入树中——观察工具查找合适插入位置的过程。
- 2 点击 Search 追踪查找某个值的路径,或点击 Delete 删除某个值。
- 3 使用 Random 插入一个随机值,或使用 Clear 清空重来。
- 4 通过上一步/下一步逐步查看每个操作的执行过程,同时留意对应高亮的伪代码。
为什么使用此工具
- 直观看到 BST 的核心规则如何运作:较小的值走向左侧,较大的值走向右侧。
- 观察节点删除的三种情形——叶子节点、只有一个子节点的节点,以及有两个子节点的节点(需借助中序后继节点)。
- 理解为什么平衡的 BST 查找复杂度为 O(log n),而失衡的树会退化为 O(n)。
- 完全在浏览器本地运行,无需注册,也无需上传任何文件。
常见问题
什么是二叉搜索树?
二叉搜索树(BST)是一种二叉树,其中每个节点左子树的所有值都小于该节点,右子树的所有值都大于该节点,因此对其进行中序遍历(in-order)可以得到一个已排序的序列。
BST 各操作的时间复杂度是多少?
插入、查找和删除的时间复杂度均为 O(h),其中 h 为树的高度——当树平衡时可达到 O(log n),但在最坏情况下(树退化成类似链表的结构)会变为 O(n)。
当一个节点有两个子节点时,删除是如何进行的?
该节点的值会被替换为其中序后继节点(in-order successor,即右子树中的最小值),随后该后继节点会被删除,这样就能继续保持 BST 的有序性质。
如何保持一棵 BST 始终处于平衡状态?
可以使用自平衡的变体,如 AVL 树或红黑树(red-black tree),它们会在插入/删除时执行旋转操作,从而将树的高度维持在 O(log n) 级别。
什么是 二叉搜索树可视化工具?
二叉搜索树可视化工具(Binary Search Tree Visualizer)是一款交互式工具,用于动态演示 BST 上的插入、查找和删除操作——BST 是一种二叉树,其中每个节点左子树的所有值都小于该节点,右子树的所有值都大于该节点。工具会展示每次操作的遍历路径,并涵盖节点删除的全部三种情形。
功能特性
插入 / 查找 / 删除
动态演示每个操作如何通过键值比较沿树向下遍历。
复杂度
单次操作为 O(h):平均 O(log n),最坏情况 O(n)(不平衡时)。空间复杂度为 O(n)。不具备自平衡能力。
100% 隐私保护
完全在你的浏览器中运行——不会上传任何数据。
示例
Input
insert 5, 3, 8, 1
Output
5 (root); 3 ← left of 5; 8 → right of 5; 1 ← left of 3
常见使用场景
-
1
学习树操作
了解插入和查找操作如何遵循 BST 的有序性质。
-
2
为什么平衡很重要
观察按序插入如何使树退化为 O(n),并理解 AVL 树/红黑树存在的意义。
-
3
中序遍历
理解中序遍历如何按顺序输出所有键。
Zerethon 的二叉搜索树(BST)可视化工具可在浏览器中动态演示 BST 的插入、查找和删除操作,其中每个节点的左子树保存较小的键,右子树保存较大的键。各操作耗时为 O(h),其中 h 为树的高度:在平衡树上为 O(log n),但在最坏情况下(退化为类似链表的树)为 O(n)。空间复杂度为 O(n)。该 BST 不具备自平衡能力。
- 分类
- 算法
- 价格
- 免费
- 隐私
- 基于浏览器
- 注册
- 无需
参考资料
- MIT OCW 6.006 — Introduction to Algorithms (CLRS) — MIT OpenCourseWare
- VisuAlgo — Binary Search Tree — VisuAlgo (NUS)
- Binary search tree — Wikipedia
隐私
除非另有说明,否则你的数据永远不会离开浏览器。二叉搜索树可视化工具 完全在客户端运行 — 无需上传服务器,不记录日志,不追踪你输入的内容。
刚接触?阅读包含 Big-O 分析的分步讲解: 了解 Data Structures →
相关工具
冒泡排序可视化工具
带动画演示的冒泡排序模拟器,提供单步执行、速度调节、自定义输入数据、实时比较/交换计数器以及伪代码同步高亮。完全在浏览器中运行。
打开工具插入排序可视化工具
动画演示插入排序算法,支持单步执行、速度调节、自定义输入数据,并实时显示比较/写入次数与伪代码高亮。完全在浏览器本地运行。
打开工具选择排序可视化工具
以动画方式演示选择排序(Selection Sort),提供逐步执行、速度调节、自定义输入数据、实时的比较/交换计数器以及伪代码展示。完全在浏览器本地运行。
打开工具归并排序可视化工具
带动画演示的归并排序模拟器,支持单步执行、速度调节、自定义输入数据、实时比较/写入计数器以及伪代码高亮显示。完全在浏览器中运行。
打开工具在 Zerethon Social 上创作、分享与成长
免费注册。赚取积分,收集成就,与全球创作者建立联系。