存储密度:是指一个节点中数据元素所占的存储单元和整个节点所占的存储单元之比。
一、顺序存储 :
1、相邻数据元素的存放地址也相邻(逻辑与物理统一),
2、要求内存中可用的存储单元的地址必须是连续的。
优点:
1、存储密度大(=1),存储空间利用率高。
2、方法简单,各种高级语言中都有数组,容易实现。
3、不用为表示节点间的逻辑关系而增加额外的存储开销。
4、顺序表具有按元素序号随机访问的特点。
缺点:
1、在顺序表中做插入、删除操作时,平均移动表中的一半元素,因此对n较大的顺序表效率低。
2、需要预先分配足够大的存储空间,估计过大,可能会导致顺序表后部大量闲置;预先分配过小,又会造成溢出。
二、链式存储:
1、相邻元素可随意存放。
2、所占存储空间分为两部分,一部分存放结点值,另一部分存放表示节点间关系的指针。
3、在链表中逻辑上相邻的数据元素,物理存储位置不一定相邻,它使用指针实现元素之间的逻辑关系。
4、链表的存储空间是动态分配的。
优点 :
1、插入或删除元素方便效率高,使用灵活
缺点 :
1、存储密度小(<1),存储空间利用率低
2、只能通过指针顺次访问,查询效率低
3、要占用额外的存储空间存储元素之间的关系,存储密度降低。
4、链表不是一种随机存储结构,不能随机存取元素。