OpenAlgorithm

线性表

顺序表示 (顺序表)

10 个关卡
memory

顺序表初始化

掌握顺序表物理空间的分配与动态扩容特性,包含静态分配和堆区动态扩容的对比演示。

input

顺序表插入 (元素位移)

掌握顺序表的连续存储特性,在指定位置插入元素,并让后续元素逐个向后移位。

delete_sweep

顺序表删除 (覆盖消除)

在指定索引处删除元素,并让后续元素逐个向前移位覆盖,完成线性表的紧凑调整。

manage_search

顺序表按值查找 (顺序扫描)

按值检索顺序表中的元素,掌握线性表的顺序扫描检索方式及性能瓶颈。

pin

顺序表按位查找 (随机访问)

按索引(位置)直接检索顺序表中的元素,掌握 O(1) 随机访问特性。

swap_horiz

顺序表逆置 (双指针)

掌握顺序表(数组)的物理存储特性,利用双指针以 O(1) 空间复杂度逆置所有元素。

replay_circle_filled

顺序表旋转 (三步逆置)

经典 408 考研真题。将顺序表循环左移 k 位,要求时间复杂度 O(n),空间复杂度 O(1)。

filter_alt

顺序表去重 (快慢指针)

经典 408 考研真题。在有序顺序表中原地删除重复元素,使唯一元素紧凑排列,空间复杂度 O(1)。

merge

顺序表合并 (有序归并)

经典 408 考研真题。将两个有序的顺序表合并为一个新的有序顺序表,掌握双指针归并技术。

split_screen

顺序表划分 (枢轴分区)

快速排序算法的核心步骤。以首元素为基准值,利用左右指针交互移动将表划分为两部分。