线性表的 顺序存储 与 链式存储 的区别与特点
2016-04-18 16:34
148 查看
那么线性表的顺序存储结构和线性表的链式存储结构的区别是什么呢?
线性表的顺序存储结构的特点
数组就是一个很典型的例子:它的特点是逻辑关系上相邻的两个元素在物理位置上也相邻,因此可以随机存取表中的任意一个元素,它的存储位置可用一个简单、直观的公式来表示。然而,从另一方面,这个特点也铸成了这种存储结构的弱点:在插入和删除操作时,需要移动大量的元素。比如:我们要在数组中插入或者删除一个元素,这个位置后面的元素全部都要依次前移或者后移。线性表的链式存储结构的特点
链式存储结构由于它不要求逻辑上相邻的元素在物理位置上也相邻,它通过指针来让不同的物理位置的元素变的逻辑上相邻。所以它的没有顺序存储结构所具有的缺点(每次插入或者删除的时候都要移动大量的元素)。它通过元素之间的指针来相互找到对方。但是这样也带来了一个问题,那就是它失去了顺序表的随机存取的优点。每次查找都需要通过指针索引来找。比如我们的链表。相关文章推荐
- 关于单参构造函数和类型转换函数
- Android Studio导入Project、Module的正确方法
- 算法(一)---字符串匹配算法
- android 进阶--使用adb命令行
- Spring4+Hibernate4整合
- python实现的html转xlsx,xlsx转html
- firefox插件-HackBar介绍与试用
- 关于adb logcat
- Java中类的排序
- EXTJS4.2中单选框及多选框
- 326. Power of Three
- C#动态操作DataTable(新增行、列、查询行、列等)
- 如何让oracle的select强制走索引
- 欢迎使用CSDN-markdown编辑器
- DenyHosts 防止SSH爆破
- PowerDesigner设计Name和Comment 替换
- 网络:HTTP 状态码
- 算法设计与分析之-最大子段和 (分治)
- NAT模式,主机ping不通虚拟机
- Caffe学习系列(4):激活层(Activiation Layers)及参数