顺序表
一组序列元素的组织形式可以抽象为线性表
顺序表,将元素顺序地存放在一块连续的存储区里,元素间的顺序关系由它们的存储顺序自然表示。
链表,将元素存放在通过链接构造起来的一系列存储块中。
顺序表的两种存储方式
分离式与一体式的区别:
当需要扩充的时候一体式向操作系统申请存储空间,旧空间释放,复制表头。
分离式也向操作系统申请存储空间,直接指向新的存储地址,表头地址不发生变化。
元素存储区替换
元素存储区扩充
扩充的两种策略
- 每次扩充增加固定数目的存储位置,如每次扩充增加10个元素位置,这种策略可称为线性增长。
特点、节省空间,但是扩充操作品牌,操作次数多。 - 每次扩充容量加倍,如每次扩充增加一倍存储空间。
特点:减少了扩充操作的执行次数,但可能会浪费空间资源。以空间换时间。推荐的方式。
顺序表操作
增加元素
- 尾端增加元素,时间复杂度为O(1)
- 非保序的加入元素(不常见),时间复杂度为O(1)
- 保序的元素加入,时间复杂度为O(n).