算法可视化工具
逐步可视化排序、搜索和图遍历算法。以交互方式动画展示冒泡排序、归并排序、快速排序、二分搜索、BFS和DFS。
Algorithm Category
Algorithm
Array Settings
Speed: Normal
Bubble Sort
Time
O(n²)
Space
O(1)
Repeatedly compares adjacent elements and swaps them if out of order. Simple but inefficient for large datasets.
Bubble Sort — Step 1 / 0
0% complete
Unsorted
Comparing
Swapping
Sorted
Pivot
Current Step
Press Play or Step Forward to begin.
相关工具
关于算法可视化工具
使用方法
- 选择算法类别:排序、搜索或图遍历
- 选择要可视化的具体算法
- 使用播放、前进和后退控件探索每个步骤
- 每个步骤都会显示算法正在执行的操作描述
- 调整速度以减慢或加快动画
- 重新生成新的随机数组或重置为初始状态
常见用例
- 编程面试准备和算法复习
- 理解排序算法的差异和权衡
- 学习图遍历策略(BFS与DFS)
- 向学生教授和解释算法
- 在可视化环境中研究时间和空间复杂度
- 以交互方式强化计算机科学基础
常见问题
这个工具可以可视化哪些算法?
算法可视化工具支持三个类别:排序算法(冒泡排序、选择排序、插入排序、归并排序、快速排序)、搜索算法(线性搜索、二分搜索)和图遍历算法(BFS广度优先搜索、DFS深度优先搜索)。
如何使用算法可视化工具?
从左侧面板选择一个类别(排序、搜索或图遍历),然后选择一个具体算法。使用播放按钮开始动画,或使用前进/后退按钮手动逐步查看。也可以使用底部的时间轴滑块快速跳转到特定步骤。
我可以控制动画速度吗?
可以!使用左侧面板的速度滑块在慢速、正常和快速之间选择。慢速适合仔细研究每个步骤,而快速则适合快速了解算法的整体行为。
排序可视化中不同颜色代表什么?
在排序可视化中:靛蓝/蓝色条是未排序的元素;黄色条正在比较;红色条正在交换;绿色条处于最终排序位置;粉色条表示枢轴元素(用于快速排序)。
图遍历中节点颜色代表什么?
在图可视化中:浅靛蓝色节点未访问;红色节点是当前正在处理的节点;黄色/橙色节点已入队或已发现但尚未处理;绿色节点已完全访问。
为什么二分搜索总是显示已排序的数组?
二分搜索需要已排序的数组才能正常工作。选择二分搜索时,工具会在运行算法之前自动对数组进行排序。
如何搜索特定值?
使用线性搜索或二分搜索时,左侧面板中会出现一个输入字段,您可以在其中输入目标值。可视化将显示算法在数组中搜索该特定值的过程。
BFS和DFS有什么区别?
BFS(广度优先搜索)在深入之前探索节点的所有邻居——使用队列,在无权图中找到最短路径。DFS(深度优先搜索)在回溯之前尽可能沿每个分支深入——使用栈(或递归),适用于环检测和拓扑排序。
我可以更改图遍历的起始节点吗?
可以!选择图遍历算法时,左侧面板会出现「起始节点」下拉菜单。您可以从节点A到G中选择,从图中的任何节点开始遍历。
哪种排序算法最快?
快速排序和归并排序通常最快,平均时间复杂度为O(n log n)。快速排序由于更好的缓存性能在实践中往往更快,但归并排序提供保证的O(n log n)性能。
我可以同时可视化多少个元素?
您可以使用数组大小滑块调整6到30个元素之间的数组大小。较小的数组更容易逐步跟踪,而较大的数组则更清晰地展示算法行为。
我可以生成新的随机数组吗?
可以!点击左侧面板中的「新随机数组」按钮生成全新的随机数组。数组大小由数组大小滑块决定。