线性表
顺序表示 (顺序表)
顺序表初始化
掌握顺序表物理空间的分配与动态扩容特性,包含静态分配和堆区动态扩容的对比演示。
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顺序表划分 (枢轴分区)
快速排序算法的核心步骤。以首元素为基准值,利用左右指针交互移动将表划分为两部分。
链式表示 (单链表)
单链表建立与初始化
掌握单链表物理空间的建立。支持带头结点/不带头结点、以及头插法/尾插法的 2x2 对比演示。
format_list_numbered单链表求表长
通过单向遍历扫描所有有效数据结点,累计计数计算链表的逻辑长度。
pin单链表按位查找
按序号查找单链表结点。定位并检索第 i 个位置的有效元素,时间复杂度 O(n)。
manage_search单链表按值查找
按值检索单链表中的元素,定位匹配特定值的结点位置,时间复杂度 O(n)。
add_box单链表插入结点
在单链表指定位置插入新结点。定位前驱结点,动态调整 next 指针指向完成就地添加。
delete单链表删除结点
删除单链表指定位置的结点。定位前驱结点,绕过目标结点并安全释放其内存空间。
sync_alt单链表反转 (指针旋转)
最经典的链表指针操作。通过修改结点的 next 指针指向,实现链表的就地反转。
call_merge合并两个有序链表
双指针归并操作。将两个升序链表合并为一个新的升序链表,要求不破坏原链表 structure。
loop单链表判环 (快慢指针)
利用 Floyd 判圈算法(快慢双指针),检测单链表是否含有物理环路,计算相遇点。
链式表示 (双链表)
双链表插入
在双向链表指定位置插入新结点。处理前驱结点、新结点和后继结点的双向指针连接。
playlist_remove双链表删除
删除双链表指定位置的结点。定位目标结点,调整前驱和后继的双向指针直接绕过它,安全释放内存。