比较总结线性表的几种主要存储结果
2017-10-11 15:43
267 查看
一、顺序表
顺序表是用一段地址连续的存储单元依次存储线性表的数据元素,通常用一维数组来实现。顺序表是线性表的顺序存储结构,是随机存取结构。
优点:无需为表示表中元素之间的逻辑关系而增加额外的存储空间;随机存取。
缺点:插入和删除需要移动大量元素;表的容量难以确定;造成存储空间的“碎片”。
二、单链表
单链表是用一组任意的存储单元存放线性表的元素,元素的逻辑次序和物理次序不一定相同,这组存储单元可以连续也可以不连续,甚至可以零散分布在内存中的任意位置。单链表中数据元素之间的逻辑关系用指针表示,单链表是顺序存取结构。
优点:删除和插入不需要移动元素;链表不需要为线性表预分配空间,其中的元素没有限制。
缺点:指针的结构性开销占去整个结点的大部分;只能朝一个方向访问元素,不能随机存取。
三、循环链表
循环链表是是在单链表中,将终端结点的指针域由空指针改为指向头结点,就使整个单链表形成一个环,通常采用尾指针来标识。
优点:没有增加任何存储量,可以从链表中的任一结点出发,增加了链表操作的灵活性。
缺点:循环链表没有明显的尾端,可能会使循环链表的处理操作进入死循环。
四、双链表
双链表是在单链表的每个结点中再设置一个指向其前驱结点的指针域,即prior。双链表是一种对称结构,便于实现各种操作。
优点:可以从链表中的任一结点出发,增加了链表操作的灵活性,且可找到前驱结点。
缺点:每个结点需要存储前驱指针域,增加了指针的结构性开销。
五、静态链表
静态链表是用数组来描述单链表,用数组元素的下标来模拟单链表的指针(称为游标)。即data域存放数据元素,next域存放该元素的后继元素所在的数组下标。
优点:插入和删除时,只需修改游标,不需要移动表中的元素。
缺点:没有解决连续存储分配带来的表长难以确定的问题。
六、间接寻址
间接寻址是将数组和指针结合起来的一种方法,将数组中存储数据元素的单元改为存储指向该元素的指针。
优点:保持了顺序表随机存取的优点;改进了插入和删除操作的时间性能。
缺点:没有解决连续存储分配带来的表长难以确定的问题。
顺序表是用一段地址连续的存储单元依次存储线性表的数据元素,通常用一维数组来实现。顺序表是线性表的顺序存储结构,是随机存取结构。
优点:无需为表示表中元素之间的逻辑关系而增加额外的存储空间;随机存取。
缺点:插入和删除需要移动大量元素;表的容量难以确定;造成存储空间的“碎片”。
二、单链表
单链表是用一组任意的存储单元存放线性表的元素,元素的逻辑次序和物理次序不一定相同,这组存储单元可以连续也可以不连续,甚至可以零散分布在内存中的任意位置。单链表中数据元素之间的逻辑关系用指针表示,单链表是顺序存取结构。
优点:删除和插入不需要移动元素;链表不需要为线性表预分配空间,其中的元素没有限制。
缺点:指针的结构性开销占去整个结点的大部分;只能朝一个方向访问元素,不能随机存取。
三、循环链表
循环链表是是在单链表中,将终端结点的指针域由空指针改为指向头结点,就使整个单链表形成一个环,通常采用尾指针来标识。
优点:没有增加任何存储量,可以从链表中的任一结点出发,增加了链表操作的灵活性。
缺点:循环链表没有明显的尾端,可能会使循环链表的处理操作进入死循环。
四、双链表
双链表是在单链表的每个结点中再设置一个指向其前驱结点的指针域,即prior。双链表是一种对称结构,便于实现各种操作。
优点:可以从链表中的任一结点出发,增加了链表操作的灵活性,且可找到前驱结点。
缺点:每个结点需要存储前驱指针域,增加了指针的结构性开销。
五、静态链表
静态链表是用数组来描述单链表,用数组元素的下标来模拟单链表的指针(称为游标)。即data域存放数据元素,next域存放该元素的后继元素所在的数组下标。
优点:插入和删除时,只需修改游标,不需要移动表中的元素。
缺点:没有解决连续存储分配带来的表长难以确定的问题。
六、间接寻址
间接寻址是将数组和指针结合起来的一种方法,将数组中存储数据元素的单元改为存储指向该元素的指针。
优点:保持了顺序表随机存取的优点;改进了插入和删除操作的时间性能。
缺点:没有解决连续存储分配带来的表长难以确定的问题。
相关文章推荐
- 比较总结线性表的几种主要存储结果
- 比较总结线性表的几种主要存储结果
- 实验二 比较总结线性表的几种主要存储结果
- 比较总结线性表的几种主要存储结果
- 数据结构|比较总结线性表的几种主要存储结果
- 比较总结线性表的几种主要存储结果
- 《数据结构》实验二: 线性表综合实验——总结线性表的几种主要存储结果
- 《数据结构》实验二: 线性表综合实验——总结线性表的几种主要存储结果
- 实验二 总结线性表的几种主要存储方式
- 实验二 线性表的几种主要存储结果
- 总结线性表的几种主要存储结构
- 线性表学习归纳总结三:线性表链式存储 不带头结点
- 几种存储技术的比较(FC SAN、IP SAN、DAS、NAS)
- 线性表学习归纳总结四:线性表链式存储 带头结点
- Linux进程通信总结(linux进程间通信的几种机制的比较及适用场合)
- C#执行异步操作的几种方式比较和总结
- 总结:线性表的几种存储方式
- 前端HTML5几种存储方式的总结
- MySQL两种主要表存储结构MyISAM和InnoDB比较
- 前端几种存储方式的总结