1.线性表
非空线性表或线性结构:
第一个元素无直接前驱,最后一个元素无直接后继,其余的每个数据元素都有一个直接前驱和后继
2.线性表的顺序表示和实现
线性表的顺序存储结构,被称为顺序表
3.类C语言
内存分配函数
4.参数传递
值传递
地址传递
5.线性表的链式表示和实现
链表的结点:由 数据域 和 指针域 组成
单链表是由 头指针 唯一确定,因此 单链表可以用 头指针的名字来命名
头指针 指向 头结点
头指针 指向 首元结点
头结点中 也有 数据域和指针域 数据域中存储的数据 可以自己定义(可以存储表的长度等等),头结点不会计入到链表的长度之中
6.链表的存储结构
链表 ——》 顺序存取
顺序表 ——》随机存储
7.单链表
单链表的初始化
单链表的销毁
清空链表
求链表的表长
取值 查找 插入 替换 删除
单链表的建立:
①头插法(前插法)
②尾插法(后插法)
8.循环链表
● 循环链表 的头尾指针表示
利用头指针来表示 查找第一个元素 时间复杂度为O(1) 最后一个元素为 O(n)
利用尾指针来表示 查找第一个元素 时间复杂度为O(1) 最后一个元素为 O(1)
● 循环链表的合并
9.双向链表
双向循环链表
插入 同时修改 前驱 和 后继 两个元素
10.顺序表和链表的比较
◆ 链式存储的优缺点
优点:动态的空间
缺点:存储密度小 非随机存取结构
◆ 顺序存储的优缺点
优点:随机存储结构
缺点:不易插入和删除
11.线性表的应用
线性表的合并
有序表的合并
12.案例分析与实现
多项式的运算
稀疏多项式的运算