数据结构--线性表回顾

目录

线性表

1.定义

2.线性表的基本操作

3.顺序表的定义

3.1顺序表的实现--静态分配

3.2顺序表的实现--动态分配

4顺序表的插入、删除

4.1插入操作的时间复杂度

4.2顺序表的删除操作-时间复杂度

[5 顺序表的查找](#5 顺序表的查找)

5.1按位查找

[5.2 动态分配的方式](#5.2 动态分配的方式)

5.3按位查找的时间复杂度

[5.4 按值查找](#5.4 按值查找)

[5.4.1 结构类型的顺序表的比较](#5.4.1 结构类型的顺序表的比较)

5.4.2按值查找的时间复杂度

6.单链表

6.1单链表的定义

​编辑

6.1.2使用代码实现单链表

[6.1.3 tpyedef的作用](#6.1.3 tpyedef的作用)

[6.1.4 初始化一个单链表](#6.1.4 初始化一个单链表)

6.2单链表的插入和删除

6.2.1按位序插入(带头结点)

6.2.2按位序插入(不带头结点)

6.3单链表的建立

7.双链表

[7.1 双链表的初始化(带头结点)](#7.1 双链表的初始化(带头结点))

7.2双链表的插入​编辑

[7.3 双链表的删除](#7.3 双链表的删除)

7.4双链表的遍历​编辑

8.循环链表

8.1循环单链表

8.1.2循环单链表的时间复杂度

8.2循环双链表

8.2.1循环双链表的初始化

9.静态链表

9.1静态链表的定义​编辑

9.2基本操作的实现(不考代码)​编辑

[10 顺序表和链表的对比](#10 顺序表和链表的对比)


线性表

1.定义

线性表注意的地方

(1)相同的数据类型

(2)有序

(3)有限

(4)位序是从1开始的,而数组下标是从0开始的

2.线性表的基本操作

3.顺序表的定义

3.1顺序表的实现--静态分配

起始地址=上一块的起始地址+数据元素的大小

3.2顺序表的实现--动态分配

4顺序表的插入、删除

4.1插入操作的时间复杂度

4.2顺序表的删除操作-时间复杂度

5 顺序表的查找

5.1按位查找

静态分配的方式

5.2 动态分配的方式

5.3按位查找的时间复杂度

5.4 按值查找

案例

5.4.1 结构类型的顺序表的比较

判断两个顺序表结构类型是否相同,不可以使用==,需要自己定义

5.4.2按值查找的时间复杂度

6.单链表

6.1单链表的定义

6.1.2使用代码实现单链表

6.1.3 tpyedef的作用

6.1.4 初始化一个单链表

(不带头结点的单链表)

(带头结点的单链表)

6.2单链表的插入和删除

6.2.1按位序插入(带头结点)

6.2.2按位序插入(不带头结点)

6.3单链表的建立

7.双链表

7.1 双链表的初始化(带头结点)

7.2双链表的插入

7.3 双链表的删除

7.4双链表的遍历

8.循环链表

8.1循环单链表

8.1.2循环单链表的时间复杂度

8.2循环双链表

8.2.1循环双链表的初始化

9.静态链表

9.1静态链表的定义

9.2基本操作的实现​​​​​​​(不考代码)

10 顺序表和链表的对比

相关推荐
Monodye8 分钟前
【Java】网络编程:TCP_IP协议详解(IP协议数据报文及如何解决IPv4不够的状况)
java·网络·数据结构·算法·系统架构
pzx_00113 分钟前
【内积】内积计算公式及物理意义
数据结构·python·opencv·算法·线性回归
重生之我要进大厂4 小时前
LeetCode 876
java·开发语言·数据结构·算法·leetcode
Happy鱿鱼5 小时前
C语言-数据结构 有向图拓扑排序TopologicalSort(邻接表存储)
c语言·开发语言·数据结构
KBDYD10105 小时前
C语言--结构体变量和数组的定义、初始化、赋值
c语言·开发语言·数据结构·算法
Crossoads5 小时前
【数据结构】排序算法---桶排序
c语言·开发语言·数据结构·算法·排序算法
QXH2000006 小时前
数据结构—单链表
c语言·开发语言·数据结构
imaima6666 小时前
数据结构----栈和队列
开发语言·数据结构
David猪大卫6 小时前
数据结构修炼——顺序表和链表的区别与联系
c语言·数据结构·学习·算法·leetcode·链表·蓝桥杯
Iceberg_wWzZ6 小时前
数据结构(Day14)
linux·c语言·数据结构·算法