线性表选择题

难点:时间复杂度

线性表:

1.定义:具有相同特性数据元素的一个有限序列

元素个数称为线性表的长度

线性表可以为空

2.逻辑特性

表头元素只有后继,表尾元素只有前驱,其他元素只有一个直接前驱和一个直接后继

3.存储结构

顺序存储结构——顺序表

链式存储结构——链表

顺序表

链表

静态链表

空间

1.存储分配

静态分配

占用连续的存储空间,

一次性分配

动态分配

结点地址可以连续可以不连续

多次分配

用数组表示

需要分配较大连续空间

2.存储密度

存储密度大(=1)

需要预先分配存储空间

分配太大,空间浪费

分配太小,发生溢出

存储密度小(<1)

时间

1.存取方式

随机存取和访问指定序号元素,

O(1)

顺序存取

2.插入删除

不便于元素的插入和删除

平均需要移动将近一半元素

在表尾进行操作不需要移动元素

时间复杂度O(n )

方便插入,删除

无须移动元素,只需要

修改相关指针即可

方便插入,删除

适用情况

适用于一对一的线性逻辑结构

不适用与树或者图这类一对多或者多对多的逻辑结构

多数情况下,顺序存储结构不方便

反映数据元素之间的逻辑关系

指针指示

链表中下一元素

在数组中地址

双链表:快速访问任何一个结点的前后结点

数据类型:一组性质相同的数值的集合以及定义在此集合上的一些操作的总称。

例如编程语言的整型,浮点型,字符型就是数据类型。

数据类型分类

原子类型:不可以再分解的基本类型,例如整型,浮点型

结构类型:由若干类型组合而成,可以再分解,

例如整型数组是由若干整型数据组成的。

抽象:抽取出事物具有的普遍性的本质

抽象数据类型:一个数学模型以及定义在该模型上的一组操作。

其定义取决于它的一组逻辑特性,与其如何实现无关

抽象数据类型的标准格式,如图所示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值