码迷,mamicode.com
首页 > 其他好文 > 详细

简要比较线性表的顺序存储结构和链式存储结构

时间:2014-05-14 14:16:42      阅读:335      评论:0      收藏:0      [点我收藏+]

标签:数据结构

我们分别从存储分配方式、时间性能、空间性能三方面来做对比。

 

存储分配方式

顺序存储结构用一段连续的存储单元依次存储线性表的数据元素。

单链表采用链式存储结构,用一组任意的存储单元存放线性表的元素。

 

时间性能

<1>查找

顺序存储结构O(1)

单链表O(n)

<2>插入和删除

顺序存储结构需要平均移动表长一半的元素,时间为O(n)

单链表在计算出某位置的指针后,插入和删除时间仅为O(1)

 

空间性能

顺序存储结构需要预分配存储空间,分大了,容易造成空间浪费,分小了,容易发生溢出。

单链表不需要分配存储空间,只要有就可以分配,元素个数也不受限制。

 

经验性结论:

<1>若线性表需要频繁查找,很少进行插入和删除操作时,宜采用顺序存储结构。

<2>若需要频繁插入和删除时,宜采用单链表结构。

比如说游戏开发中,对于用户注册的个人信息,除了注册时插入数据外,绝大多数情况都是读取,所以应该考虑用顺序存储结构。

而游戏中的玩家的武器或者装备列表,随着玩家的游戏过程中,可能会随时增加或删除,此时再用顺序存储就不太合适了,单链表结构就可以大展拳脚了。

当线性表中的元素个数变化较大或者根本不知道有多大时,最好用单链表结构,这样可以不需要考虑存储空间的大小问题。

而如果事先知道线性表的大致长度,比如一年12个月,一周就是星期一至星期日共七天,这种用顺序存储结构效率会高很多。

 

 

参考<<大话数据结构>>

简要比较线性表的顺序存储结构和链式存储结构,布布扣,bubuko.com

简要比较线性表的顺序存储结构和链式存储结构

标签:数据结构

原文地址:http://blog.csdn.net/wangxiaobupt/article/details/25706443

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!