在什么情况下用顺序表比链表好

 我来答
帐号已注销
2020-11-03 · TA获得超过77万个赞
知道小有建树答主
回答量:4168
采纳率:93%
帮助的人:162万
展开全部

需要随机访问(按脚标访问)数据的时候;

已知最大元素数量(即最大表长)的时候;

不需要大量插入、删除元素操作的时候。

需要随机访问表中的元素的时候用顺序表更好。

因为顺序表中的元素都是紧挨着排列在一起的,只要知道了第一个元素的地址,在这个地址上加上一个偏移量就可以得到另一个元素。而如果是链表的话,访问某个元素首先都要依次遍历这个元素前面的所有元素,效率是很低的。

扩展资料:

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

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

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

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

菜鸟级程序员
2011-09-14 · TA获得超过342个赞
知道小有建树答主
回答量:213
采纳率:0%
帮助的人:160万
展开全部
这问题你应该不会考虑内存大小的问题的。既然你问这个问题,那么我建议是顺序表比较好,只有特殊的时候才会用到链表,,虽然链表的好处总的来说比顺序表的多。但是,顺序表更加适合新手,所以,能用顺序表就尽量用顺序表吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liuJ_0
推荐于2017-11-24 · TA获得超过312个赞
知道答主
回答量:38
采纳率:100%
帮助的人:25.1万
展开全部
当你需要对线性表进行随机存取时显然顺序表会比链表好用,因为顺序表中逻辑关系相邻的两个元素在物理位置上也相邻,例如L是SqList类型的顺序表,表表中第i个数据元素是L.elem[i-1],非常方便就查找到了,这是链表所没有的优势。
PS:一般对数据进行排序操作都会选择顺序表做为数据结构
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式