数据结构--线性表回顾

目录

线性表

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 顺序表和链表的对比

相关推荐
Felven27 分钟前
A. Ideal Generator
java·数据结构·算法
How_doyou_do1 小时前
树状数组底层逻辑探讨 / 模版代码-P3374-P3368
数据结构·算法·树状数组
西电研梦2 小时前
学硕热度下降,25西电数学与统计学院(考研录取情况)
考研·数学·统计学·西安电子科技大学·应用经济
一只鱼^_2 小时前
第十六届蓝桥杯大赛软件赛省赛 C/C++ 大学B组 [京津冀]
c语言·数据结构·c++·算法·贪心算法·蓝桥杯·动态规划
云格~3 小时前
Leetcode:1. 两数之和
数据结构·算法·leetcode
fpcc3 小时前
设计心得——数据结构的意义
数据结构·c++
杀神lwz4 小时前
数据结构和算法(九)--红黑树
数据结构·算法
雪落山庄4 小时前
LeetCode100题
java·开发语言·数据结构
Y.O.U..4 小时前
力扣HOT100——102.二叉树层序遍历
数据结构·c++·算法·leetcode
@Aurora.4 小时前
数据结构手撕--【堆】
数据结构·算法