← Playground
SEARCH LAB
搜索算法可视化 · 查找实验室

选择算法

算法说明

线性查找:从数组第一个元素开始,逐个与目标值比较,直到命中或扫描完毕。
时间复杂度:O(n)(最坏 / 平均),最好 O(1)。适合无序小数据。

数据与参数

算法说明

二分查找:在有序数组中反复取中点,根据比较结果把区间折半,直到命中或区间为空。
时间复杂度:O(log n)。前提:数组必须有序。

数据与参数

算法说明

哈希查找:用哈希函数 h(k)=k mod size 把键映射到桶,冲突用链地址法解决(每桶一条链表)。
时间复杂度:平均 O(1),最坏 O(n)(全部冲突)。

数据与参数

算法说明

二叉搜索树(BST):左子树所有键小于节点、右子树所有键大于节点;查找时沿比较路径下降。
时间复杂度:平均 O(log n),最坏 O(n)(退化为链表)。

数据与参数

算法说明

AVL 平衡树:每个节点维护平衡因子 bf=左高-右高;插入后若 |bf|>1,按 LL / RR / LR / RL 旋转恢复平衡。
时间复杂度:插入 / 查找均 O(log n)

数据与参数

算法说明

红黑树:节点带红 / 黑标记,满足「根黑、红子必黑、任意路径黑高相等」;插入后通过变色与旋转修复性质。
时间复杂度:插入 / 查找均 O(log n)

数据与参数

算法说明

B 树:多路平衡搜索树,每个节点可存多个键;节点满(order 个键)时分裂,中间键提升到父节点。
时间复杂度:查找 / 插入均 O(log n)

数据与参数

算法说明

B+ 树:所有数据(键)都保存在叶子节点,内部节点只存路由键;叶子用链表串联便于范围遍历。
时间复杂度:查找 / 插入均 O(log n)

数据与参数

算法说明

跳表:多层有序链表,上层是下层的「快速通道」;插入时抛硬币决定节点层数,查找时从高层逐层向下跳。
时间复杂度:期望 O(log n),最坏 O(n)。

数据与参数

步骤 0 / 0比较 0
就绪:选择左侧算法标签开始探索。