数据结构-线性表概念&顺序存储

本文介绍了线性表这一基本数据结构,包括其定义、特点和基本运算。线性表是由相同类型数据元素组成的有序序列,具备同一性、有穷性和有序性。顺序存储结构是线性表的一种实现方式,它将元素存储在地址连续的存储单元中,便于计算和操作。此外,文章还提到了抽象数据类型在定义线性表运算集中的作用。
摘要由CSDN通过智能技术生成

数据的逻辑结构可分为

-线性结构
    -线性表
    -栈和队列
    --数组与广义表
-非线性结构
    --

线性表(线性结构)
线性结构是最简单,最直接的数据关系,数据元素之间一一对应

线性表的定义
-线性表是由N个类型相同的数据元素组成的有序序列
记做:(a1,a2,a3,a4,…an),N是线性表长度
n=0称为空表
n>0,除第一个元素无直接前驱,最后一个元素无直接后继外,其余的每个数据元素只有一个直接前躯和一个直接后继,数据元素间具有一对一的关系
0-0-0-0-0 逻辑关系图大概长这个样子

线性表的特点:
-同一性:线性表由同类数据元素组成,线性表内的每个元素必须属于同一数据对象
-有穷性:线性表由有限个数据元素组成,表长度就是表中数据元素的个数
-有序性:线性表中相邻数据元素之间存在着序偶关系,就是那个之前说一对一的那个前驱后继之类的啦

线性表的基本运算包括
-初始化
-销毁
-置空
-判空
-求长度
-查找
-存取
-插入
-删除

抽象数据类型定义了相应模型上的基本运算集,例如整型的运算为加减乘除等

抽象数据类型的作用:一经定义可多次使用,适用于进行相关的各种需求

线性表的顺序存储

顺序存储结构的定义:
-用一组地址连续的存储单元依次存储线性表中的各个元素
-节点顺序存,关系线性化
-逻辑上相邻,存储也相邻
顺序存储结构的地址计算,如图所示:
在这里插入图片描述
什么是类型,什么是变量?
-类型是一种规格的定义,变量是一种空间的定义。
-例如将一种数据类型的元素赋值给一个变量

线性表的基本运算:

-查找操作
    -按序号查找:正/反向递增/减序号
    -按内容查找:要求查找线性表L中与给定值e相等的数据元素,就只能一个挨一个的查找比对
-插入操作
    -先定位,找到需要插入的坐标第i个元素
    -再移动,将需要插入的坐标后的元素全部后移,从最后的元素开始移
    -再插入,插入元素到坐标
    -插入操作的性能耗费时间主要在移动的操作次数上
    -插入操作的性能耗费公示为n(n+1)/2,插入操作需要的平均时间是n/2
-删除操作
    -删除操作和插入操作基本相同,只不过是将删除元素的坐标后的元素向前移动
    -删除操作需要移动的次数(消耗的时间)为n(n-1)/2 ,删除操作需要的平均时间是n-1/2
-顺序表合并算法

线性表顺序存储结构优缺点:

-优点
    -无需为表结点间的逻辑关系而增加额外的存储空间
    -可方便地随机存取查找表中的任一元素
-缺点
    -插入删除效率低,除表尾位之外,在其他位置插入删除都必须移动大量元素,他的平均移动次数,是表长度的一半
    -由于顺序表要求占用连续的存储空间,存储分配只能预先进行静态分配,因此当表长变化较大时,难以确定合适的存储规模
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值