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

20140617

时间:2014-06-19 07:49:36      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:strong   数据   2014      时间      

1、数组和链表的区别

 

逻辑结构方面:

数组:静态申请的连续的内存空间,编译阶段确定空间大小,运行阶段是不允许改变

链表:动态申请的内存空间,并不像数组一样需要事先申请好大小,链表是现用现申请就OK,根据需求动态的申请或删除内存空间,对于的是增加或删除数据,所以比数组要灵活。

物理存储即内存分配方面:

数组是连续的内存,通过下标直接读取数据,而添加删除数据就比较麻烦,需要移动操作数所在位置后的所有数据,时间复杂度为O(N)。

链表是物理上非连续的内存空间,对于访问数据,需要从头便利整个链表直到找到要访问的数据,没有数组有效,但是在添加和删除数据方面,只需要知道操作位置的指针,很方便可以实现增删,教数组比较灵活有效率。

所以综合以上,对于快速访问数据,不经常有添加删除操作的时候选择数组实现,而对于经常添加删除数据,对于访问没有很高要求的时候选择链表

2、

20140617,布布扣,bubuko.com

20140617

标签:strong   数据   2014      时间      

原文地址:http://www.cnblogs.com/yexuannan/p/3793904.html

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