1 顺序存储
1.1 存、读 时间复杂度为O(1):只找位置,位置不变;
1.2 插、删 时间复杂度为O(n):要移动位置;
2 结论
存和读:占用时间少(优点)
删除和插入:占用大量时间,原因是每个元素相邻位置存储了元素,他们在内存中紧挨着,无间隙,无法快速插入和删除(缺点)
说明顺序存储适合快速存、读,而无须逻辑关系额外增加存储空间,不适合大量插入和删除,而当线性长度变化较大时,难以确定存储容量,容易照成存储空间的碎片的浪费;
3 链式
基于顺序存储的缺点,可以给每个元素周围分配空的位置,并且存储时只找任意空的位置存放元素及带上指针(元素及后继元素位置)
存储数据元素:数据域
存储元素后继位置:指针域
两部分信息组成数据元素称为存储映像,称为结点(node),n个节点链接成为一个链表,即为线性表的链式存储,由于链表中每个结点只包含一个指针域,所以叫做单链表,第一个结点指针称为头指针,最后一个结点指针为空