导图社区 数据结构与算法 线性表
数据结构与算法 线性表学习笔记,适用于预习、复习的参照。适用于考前复习,也可以综合其他资料使用。
数据结构与算法 绪论学习笔记,适用于预习、复习的参照。适用于考前复习,也可以综合其他资料使用。
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
线性表
基本概念
定义
线性表是由n(n>=0)个类型相同数据元素组成的有限序列。数据元素可由若干个数据对象组成,且一个线性表中的数据元素必须属于同一数据对象。
线性表示n个类型相同数据元素的有限序列,对n>0,除第一个元素无直接前驱,最后一个元素无直接后继外,其余的每个数据元素只有一个直接前驱和直接后继。
逻辑结构
性质
同一性
线性表由同类数据元素组成,每个元素必须属于同一数据类型。
有穷性
线性表由有限个数据元素组成,表长度就是表中数据元素的个数。
线性表中相邻数据元素之间存在着序偶关系。
线性表的存储结构
顺序存储结构:顺序表
链式存储结构:链表
顺序表、链表
顺序表
定义:用一组地址连续存储单元依次存储线性表的数据元素
特点
第一个元素储存位置是线性表的起点
第i+1个元素的存储位置紧接在第i个元素的存储位置之后
基本操作
查找
插入
删除
链表
每个结点内容
所存储的元素的信息
元素之间的逻辑关系信息
类别
双向链表
循环单链表
单链表
eg:单链表中前驱结点包含后继节点的地址信息
顺序存储与链式存储的比较
可以随机访问
占用存储空间连续
顺序表的插删,需要移动多个元素
所存储的元素信息
链表的插删不需要移动多个元素
存储空间不一定连续
占用额外的存储空间存储元素间关系,空间利用率更低
基于时间
因为顺序表通常是用数组表示决定了顺序表能够随机存储,所以当线性表的操作主要是进行查找而很少做插入和删除操作时应用顺序表。
与顺序表的情况想反,需要频繁的进行插入或删除操作的线性表应用链表
基于空间
存储密度
指结点数据本身所占的存储量和整个结点结构所占的存储量之比
顺序表是静态分配的,链表是动态分配
当线性表的长度变化不大,易于事先确定其存储规模时宜采用顺序表,反之应采用链表。