第二章.数据结构-线性表
注:这是本人观看B站王卓老师讲的数据结构与算法的学习笔记
2.1 线性表的定义和特点
## 2.2 案例引入案例一 一元多项式计算
案例二 稀疏多项式计算
题目
结果
顺序存储结构存在问题
1.存储空间分配不灵活
2.运算的空间复杂度高
可以使用链式存储结构
如图
2.4 线性表的顺序表示和实现
线性表的顺序存储结构是指用一段地址连续的存储单元依次存储线性表的数据元素。
例如:线性表(1,2,3,4,5,6)
数组长度,线性表最多可容纳数据元素的个数
线性表长度:当前数据元素个数
如:一个房间最多容纳10个人(数组长度),当前房间里有5个人(线性表长度)
由于顺序表中的元素要求地址连续、依次存放、随机存取、类型相同,高级程序设计语言当中可以用一维数组来实现
一维数组的定义方式:
类型说明符 数组名 [常量表达式]
说明:常量表达式中可以包含常量和符号常量,不能包含变量
多项式例子:
图书表例子:
定义模板
#define LIST_INIT_SIZE 100 //线性表存储空间的初始分配量
typedef struct {
ElemType elem[LIST_INIT_SIZE];
int length; //当前长度
} SqList;
顺序表的基本操作
操作中常用的预定义常量与类型
基本操作
顺序表的基本算法
简单算法
1.线性表初始化
2.销毁线性表
3.清空线性表
4.求线性表长度
5.判断线性表是否为空
6.顺序表取值
稍微难一点的算法(重要的算法)
7.插入算法
顺序表的插入
<