何时选用顺序表、何时选用链表作为线性表的存储结构为宜

如题所述

顺序表的特点是按位访问快,中间插入删除慢,因此元素个数变动不大,经常按位置访问适宜于顺序存储。

顺序表往往使用一组连续的内存,对固定元素的随机存取(比如存取第几个元素)很方便。因此更适合于存放需要多次修改的数据。

链表的特点是只能顺序访问,中间插入删除快,因此适宜于元素个数变动较大,经常插入删除的场合。

链表就是像铁链一样,可以一直加,只要拿到头,就可以遍历整个链表里面的元素,每个元素的位置可能和其他元素的存储位置不是连续的,所以查询比较慢,但是增加删除比较快。

扩展资料:

如顺序表的每个结点占用len个内存单元,用location (ki)表示顺序表中第i个结点ki所占内存空间的第1个单元的地址。则有如下的关系:location (ki+1) = location (ki) +len

location (ki) = location(k1) + (i-1)len

存储结构要体现数据的逻辑结构,顺序表的存储结构中,内存中物理地址相邻的结点一定具有顺序表中的逻辑关系。

参考资料来源:百度百科-顺序表

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-12-13
频繁按位置访问,少插入删除者使用顺序表为适宜
元素个数频繁变化,多插入删除(非在端点进行),无法预估空间等使用链表较为适宜本回答被网友采纳
第2个回答  2019-06-10
顺序表:需要频繁地按位号访问,元素中间插入删除较少(在线性表的端点插入删除不算)
链表:频繁地在非端点插入删除元素、元素个数变动范围较大
第3个回答  2017-12-13
在实际应用中,应根据具体问题的要求和性质来选择顺序表或链表作为线性表的存储结构,通常有以下几方面的考虑:1.基于空间的考虑。当要求存储的线性表长度变化不大,易于事先确定其大小时,为了节约存储空间,宜采用顺序表;反之,当线性表长度变化大,难以估计其存储规模时,采用动态链表作为存储结构为好。2.基于时间的考虑。若线性表的操作主要是进行查找,很少做插入和删除操作时,采用顺序表做存储结构为宜;反之,若需要对线性表进行频繁地插入或删除等的操作时,宜采用链表做存储结构。并且,若链表的插入和删除主要发生在表的首尾两端,则采用尾指针表示的单循环链表为宜。