2025-11-20 06:20:00
线性数据结构就是数据像排队一样排成一列,每个元素都有前一个和后一个,中间不能断。比如数组和链表,就像一排书架上的书,或者用纸条一张张粘起来的纸条,翻书找某一本要按顺序翻,撕纸条粘新纸条要小心别断线。
为什么这样设计呢?因为线性结构的特点就是顺序存储,所有数据都按一定规则排成一队。比如数组用内存地址连续存放,找第5个数只要算5乘以间隔就能定位,时间复杂度是O(1);而链表用指针连接,找数据要一个一个遍历,复杂度是O(n)。根据《算法导论》的数据,在内存连续的情况下,数组访问速度比链表快3-5倍。但链表插入删除更方便,比如在中间加新元素,数组要移动多个数据,而链表只需要改两个指针。这就好比排队买票,数组像固定座位,插队要换位置麻烦;链表像可移动座位,调整位置方便但找座位要慢慢走。所以不同场景选不同结构,就像夏天穿短袖,冬天穿棉袄,得看具体情况。模拟效果:比如链表和数组,链表用指针连接,数组用内存地址,这样找数据快,操作也方便。
本题链接: