比较总结线性表的几种主要存储结果
来源:互联网 发布:淘宝千牛怎么开直通车 编辑:程序博客网 时间:2024/06/07 04:35
顺序表:
顺序表是用一段地址连续的存储单元依次存储线性表的数据元素,通常用一维数组来实现。顺序表是线性表的顺序存储结构,是随机存取结构。
优点:无需为表示表中元素之间的逻辑关系而增加额外的存储空间;可以快速地存取表中任一位置的元素,即随机存取。
缺点:插入和删除需移动大量元素;表的容量难以确定;造成存储空间碎片。
单链表:
单链表是用一组任意的存储单元存放线性表的元素,元素的逻辑次序和物理次序不一定相同,这组存储单元可以连续也可以不连续,甚至可以零散分布在内存中的任意位置。单链表中数据元素之间的逻辑关系用指针表示,单链表是顺序存取结构。
优点:不必事先知道线性表的长度;插入和删除元素时只需修改指针,不用移动元素。
缺点:指针的结构性开销;存取表中任意元素不方便,只能进行顺序存储。
循环链表:
循环链表是是在单链表中,将终端结点的指针域由空指针改为指向头结点,就使整个单链表形成一个环,通常采用尾指针来标识。
优点:没有增加任何存储量,可以从链表中的任一结点出发,增加了链表操作的灵活性。
缺点:循环链表没有明显的尾端,可能会使循环链表的处理操作进入死循环。
双链表:
双链表是在单链表的每个结点中再设置一个指向其前驱结点的指针域。双链表是一种对称结构,便于实现各种操作。
优点:可以从链表中的任一结点出发,快速确定其前驱结点。
缺点:每个结点需要存储前驱指针域,增加了指针的结构性开销。
静态链表:
静态链表是用数组来描述单链表,用数组元素的下标来模拟单链表的指针(称为游标)。data域存放数据元素,next域存放该元素的后继元素所在的数组下标。
优点:插入和删除时,只需修改游标,不需要移动表中的元素。
缺点:没有解决连续存储分配带来的表长难以确定的问题。
间接寻址:
间接寻址是将数组中存储数据元素的单元改为存储指向该元素的指针。
优点:保持了顺序表随机存取的优点;改进了插入和删除操作的时间性能。
缺点:没有解决连续存储分配带来的表长难以确定的问题。
- 比较总结线性表的几种主要存储结果
- 比较总结线性表的几种主要存储结果
- 比较总结线性表的几种主要存储结果
- 比较总结线性表的几种主要存储结果
- 比较总结线性表的几种主要存储结果
- 比较总结线性表的几种主要存储结果
- 实验二 比较总结线性表的几种主要存储结果
- 实验二 比较总结线性表的几种主要存储结果
- 数据结构|比较总结线性表的几种主要存储结果
- 实验二 线性表的几种主要存储结果
- 《数据结构》实验二: 线性表综合实验——总结线性表的几种主要存储结果
- 《数据结构》实验二: 线性表综合实验——总结线性表的几种主要存储结果
- 总结线性表的几种主要存储结构
- 数据结构|总结线性表的几种存储结果
- 实验二 总结线性表的几种主要存储方式
- 实验二 总结线性表的几种主要存储结构
- 数据结构之线性表的几种主要存储
- 总结:线性表的几种存储方式
- css3的一些学习笔记
- 【java基础】接口的意义及用法!
- DAS/SAN/NAS之区别
- 最终实现混合app仿淘宝app自动识别淘口令 第二篇 从后台转到前台时自动识别剪贴板内容
- ubuntu16.4安装postgresql
- 比较总结线性表的几种主要存储结果
- /verbose:lib让VisualStudio打印更详细的编译错误信息
- Java静态绑定与动态绑定 隐藏 多态
- error LNK2005: "void __cdecl operator delete(void *)"错误解决方案
- Boosteroid——人人可用的个人云计算机
- 局部和全局变量浅析
- Python Scrapy运行爬虫时出现ModuleNotFoundError(win32api)
- 优先队列 使用 (补一发)
- 运行mapreduce 程序报错 NoSuchMethodException