链表与顺序表的区别
来源:互联网 发布:mac可以玩跑跑卡丁车吗 编辑:程序博客网 时间:2024/05/16 12:54
顺序表存储位置是相邻连续的,可以随即访问的一种数据结构,一个顺序表在使用前必须指定起长度,一旦分配内存,则在使用中不可以动态的更改。他的优点是访问数据是比较方便,可以随即的访问表中的任何一个数据。
链表是通过指针来描述元素关系的一种数据结构,他可以是物理地址不连续的物理空间。不能随即访问链表元素,必须从表头开始,一步一步搜索元素。它的优点是:对于数组,可以动态的改变数据的长度,分配物理空间。
在使用中:如果一个数组在使用中,查询比较多,而插入,删除数据比较少,数组的长度不变时,选顺序表比较合理。如果插入,删除,长度不定的数组,可以选链表。
基于空间的比较
n存储分配的方式
u顺序表的存储空间是静态分配的
u链表的存储空间是动态分配的
n存储密度=结点数据本身所占的存储量/结点结构所占的存储总量
u顺序表的存储密度= 1
u链表的存储密度<1
基于时间的比较
n存取方式
u顺序表可以随机存取,也可以顺序存取
u链表是顺序存取的
n插入/删除时移动元素个数
u顺序表平均需要移动近一半元素
u链表不需要移动元素,只需要修改指针
u若插入/删除仅发生在表的两端,宜采用带尾指针的循环链表
阅读全文
0 0
- 链表与顺序表的区别
- 关于顺序表与链表的区别
- 顺序表和链表的区别
- 数据结构的基本概念 与顺序表和链表的区别
- 顺序表与链表的比较
- 顺序表与链表的比较
- 顺序表与链表的比较
- 顺序表与链表的比较
- 链表与顺序表的对比
- 线性表的 顺序存储 与 链式存储 的区别与特点
- 线性表之顺序表与单链表的区别与优缺点
- 链表和顺序表的一些区别
- 链表和顺序表的一些区别
- 线性顺序表和链表的区别
- 顺序表和链表的比较和区别
- 顺序表和链表的一些区别
- 顺序表 线性表 数组的区别
- 顺序表 线性表 数组的区别
- Lazarus控件中控件尺寸变化的处理机制
- spring framework入门
- c语言笔记-printf()格式化输出详解
- Python爬内蒙古大学教务处并自动计算绩点(小窗体版)
- Linux下通过yum安装软件
- 链表与顺序表的区别
- deepin安装jetbrain系列破解+究竟装到哪里了
- Java 浮点数 float和double类型的表示范围和精度
- 前端面试纪实(四):如何判断一个变量是数组:typeof和instanceof
- POJ 3279 Fliptile(普通搜索)
- 共享内存结构体数据(结构体不能使用指针)
- HDU 6071 Lazy Running
- JSON嵌套的对象类型
- 蚂蚁分类信息系统5.8多城市版本 解决后台管理员更新信息时置顶时间同时变化的问题