数据结构--线性表回顾

目录

线性表

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

相关推荐
华玥作者2 小时前
uniapp 万条数据不卡顿:我写了个虚拟列表组件 hy-list,原生支持瀑布流
数据结构·uni-app·list·vue3
2401_841495642 小时前
【数据结构】B*树
数据结构·c++·b树·算法·删除·插入·三分分裂
不如语冰3 小时前
AI大模型入门-模块导入import
数据结构·人工智能·pytorch·python
岑梓铭3 小时前
《考研408数据结构》第七章(7.1 查找:顺序查找、折半查找、分块查找)复习笔记
数据结构·笔记·考研·408·ds·查找
壹号用户3 小时前
c++入门之list了解及使用
数据结构·list
来一碗刘肉面4 小时前
什么是双端队列
数据结构·链表
流浪0015 小时前
数据结构篇(五):线性表——栈
数据结构·c++·算法
拂拉氏5 小时前
【知识讲解】 链式哈希表的实现与unordered_map和unordered_set的封装
数据结构·哈希算法·散列表
haolin123.5 小时前
数据结构--二叉树
数据结构
不如语冰6 小时前
AI大模型入门-参数的传递
数据结构·人工智能·pytorch·python