数据结构线性表总结

    科技2023-10-17  100

    第二章    线性表

    一、顺序表示

    1. 线性表是具有相同数据类型的n个数据元素的有限序列。

    2. 顺序表最主要的特点是随机访问,顺序表逻辑上相邻的元素物理上也相邻,插入和删除操作都需要移动大量元素。

     

    课后题易错:

    线性表的顺序存储结构是一种(随机存取的存储结构)。不选(顺序存取的存储结构),因为顺序存取是一种读写方式,并不是指存储方式,有别于顺序存储);顺序表和单链表交换元素顺序的问题:一般来说则线性表效率更佳,为O(1)。但如果交换的是开头两个元素,则效率相等。

    二、链式表示

    1. 单链表是非随机存取的存储结构。

    2. 引入头结点的优点:处理第一个位置的元素和其他位置上的操作一致,无需特殊处理、无论链表是否为空,头指针始终是指向头结点的非空指针,空表和非空表的处理也统一了。

    3. 头插法建立单链表,读入数据的顺序和生成链表中的元素的顺序是相反的。

    4. 尾插法建立单链表,读入数据的顺序和生成链表中的元素的顺序是一致的。

    (可利用上述特性建立递增或递减的链表)

    尾插法必须增加一个尾指针r,始终指向当前链表的尾结点。循环单链表优点:可以从表中任一结点开始遍历整个链表。

     

    三、静态链表

    指针的下标是结点的相对地址(数组下标),又称为游标。静态链表结束的标志:next == -1。

     

    四.顺序表和链表的比较

    顺序表可以顺序存取,也可以随机存取;链表只能从表头顺序存取元素。

    (注意区分存取和存储)

    顺序表在静态存储分配情形下,需要预先分配足够大的存储空间。动态存储分配虽然存储空间可以扩充,但需要移动大量元素,导致效率依然低。

     

    课后题易错:

    链式存储结构比顺序存储结构能更方便地表示各种逻辑结构。
    Processed: 0.017, SQL: 8