线性数据结构
线性表
线性表(简称表),是一种抽象的数学概念,是一组元素的序列的抽象,它由有穷个元素组成(0
个或任意个)
顺序表:使用一大块连续的内存顺序存储表中的元素,这样实现的表称为顺序表,或称连续表
在顺序表中,元素的关系使用顺序表的存储顺序自然地表示
链接表:在存储空间中将分散存储的元素链接起来,这种实现称为链接表,简称链表
顺序表,对逻辑概念序列物理存储 ,前驱、后继
【1,2,3,4,10】
顺序表首地址+索引*4字节
增:
1、头部增加 insert ,引起所有后面的数据的挪动
2、中间插入 insert ,引起其后数据的挪动
3、尾部追加,推荐
删:
1、头部删,引起其后数据的挪动
2、中间删,引起其后数据的挪动
3、尾部删,推荐
改:
通过index直接定位元素,覆盖即可
查:
通过索引找人,效率极高,时间复杂度为 O(1)
链接表,链表,对逻辑概念线性表(有序序列)序列物理存储,前驱、后继
【1,2,3,4】
head,自己记录
增:
1、头部增,动Head,拉手,代价低
2、中间增,断开手,拉新手,相对于顺序表有一点点差,低
3、尾部增,动tail,拉手,代价低
删:
1、头删,动H,代价低
2、中间删,重新拉手,效率高
3、尾部删,动tail,效率高
改:
使用索引找,相对顺序表有点差,覆盖
查:
有索引,使用索引找,相对顺序表有点差
queue一般情况下,队列的操作只在某一头,或者同时两头
FIFO 先进先出,链接表实现
LIFO 后进先出,顺序表实现,可以选择链接表
stack后进先出
双端队列,链接表
本文来自博客园,作者:45645+56,转载请注明原文链接:https://www.cnblogs.com/qiuyq/p/16497417.html