第二讲 线性结构(2:19:00)[何钦铭]

222 阅读1分钟

2.1 线性表及其实现

image.png

方法1:顺序存储结构直接表示

image.png

方法2:顺序存储结构表示非零项

image.png

image.png

方法3:链表结构存储非零项

链表中每个结点存储多项式中的一个非零项,包括系数和指数两个数据域以及一个指针域

image.png

什么是线性表

image.png

线性表的抽象数据类型描述

image.png

线性表的顺序存储实现

image.png

1. 初始化(建立空的顺序表)

image.png

2. 插入

image.png

image.png

3. 删除(删除表的第 i (1≤i≤n)个位置上的元素)

image.png

image.png

线性表的链式存储实现

不要求逻辑上相邻的两个元素物理上也相邻; 通过“链”建立起数据元素之间的逻辑关系。 插入、删除不需要移动数据元素,只需要修改“链”。

image.png

1.求表长

image.png

2. 查找

image.png

3. 插入(在第 i-1(1≤i≤n+1)个结点后插入一个值为X的新结点)

image.png

image.png

4. 删除(删除链表的第 i (1≤i≤n)个位置上的结点)

image.png

image.png

广义表(Generalized List)

image.png

多重链表

image.png

image.png

矩阵

image.png

image.png

image.png

2.2 堆栈

什么是堆栈

image.png

后缀表达式

image.png

image.png

堆栈的抽象数据类型描述

image.png

image.png

image.png

image.png

栈的顺序存储实现

(1)入栈

image.png

(2)出栈

image.png

image.png

image.png

堆栈的链式存储实现

image.png

image.png

堆栈应用:表达式求值

image.png

中缀表达式求值

image.png

image.png

image.png

中缀表达式如何转换为后缀表达式

image.png

image.png

2.3 队列及实现

什么是队列

image.png

队列的抽象数据类型描述

image.png

队列的顺序存储实现

image.png

image.png

image.png

(1)入队列

image.png

队列的链式存储实现

image.png

image.png

2.4 应用: 多项式加法运算

image.png

多项式加法运算

image.png

image.png

image.png

image.png