一.线性结构
1.存在唯一一个被称作“第一个”的数据元素。
2.存在唯一一个被称作“最后一个”的数据元素。
3.除第一个元素外,所以其它元素都只有一个前驱,第一个元素没有前驱。
4.除最后一个元素外,所以其它元素都只有一个后继,最后一个元素没有后继。
5.线性表中的元素必须具有相同特性,即属同一数据对象。
二.两种不同的实现方式
线性结构的顺序表实现的特点:
1.存储数据间的逻辑位置关系的它们在计算机内存储时的物理位置关系相同。
2.在操作方面,插入和删除的时间复杂度为O(n),时间主要耗费在移动元素上。而给定位置数据的查找的时间复杂度为O(1)。
3.可以用定长的连续地址(数组)或者动态分配内存的连续地址来作为其具体实现。
线性结构的链表实现的特点:
1.用任意的,可以不相连的存储单元存储线性表的元素。除存储信息本身外,还需存储一个其后继的位置信息,两者一起构成一个结点。
2.在操作方面,插入和删除的时间复杂度为O(1),无论有没有给定位置,数据的查找时间复杂度均为O(n)。
3.一般需要一个头结点作为数据结构的入口,头结点本身不包含数据信息,但其指针指向第一个数据结点。