三种平摊分析的方法分别为_1.软院算法复习提纲

这篇复习提纲涵盖了《算法设计与分析》的内容,包括算法的基本概念、复杂性分析、递归关系式、平摊分析的三种方法:聚集分析、记账分析和势能法。还讨论了各种排序算法如插入排序、归并排序、堆排序、快速排序的时间复杂性,以及线性时间排序如计数排序、基数排序、桶排序。此外,提纲中还涉及了数据结构如红黑树、二项堆、不相交集数据结构以及图论算法,如最小生成树、单源最短路径等。
摘要由CSDN通过智能技术生成

《算法设计与分析》复习提纲2019.12.31

1 引言(ch1)

1.什么是算法及其特征

2.问题实例和问题规模

2 算法初步(ch2)

1.插入排序算法

2.算法复杂性及其度量

(1)时间复杂性和空间复杂性;

(2)最坏、最好和平均情形复杂性;

3.插入排序的最坏、最好和平均时间

4.归并排序算法及其时间复杂性

3函数增长率(ch3)

1.渐近记号O、Ω、θ的定义及其使用

2.标准复杂性函数及其大小关系

3.和式界的证明方法

4 递归关系式(ch4,Sch1)

1.替换法

(1)猜测解à数学归纳法证明;

(2)变量变换法;

2.迭代法

(1)展开法;

(2)递归树法;

3.主定理

4.补充1:递归与分治法(sch1)

- 递归设计技术

- 递归程序的非递归化

- 算法设计

(1)Fibonacci数;           (2)生成全排列;

(3)二分查找;(4)大整数乘法;

(5)Stranssen矩阵乘法;(6)导线和开关(略);

5 堆排序(ch6)

1堆的概念和存储结构

2.堆的性质和种类

3.堆的操作:建堆;整堆;

4.堆排序算法和时间复杂性

5.优先队列及其维护操作

6 快速排序(ch7)

1.快速排序算法及其最好、最坏时间和平均时间

2.随机快速排序算法及其期望时间

3.Partition算法

7 线性时间排序(ch8)

1.基于比较的排序算法下界:Ω(nlogn)

2.计数排序适应的排序对象、算法和时间

3.基数排序适应的排序对象、算法和时间

4.桶排序适应的排序对象、算法和时间

8 中位数和顺序统计(ch9)

1.最大和最小值的求解方法

2.期望时间为线性的选择算法

3.最坏时间为线性的选择算法及其时间分析

9 红黑树(ch13)

1.红黑树的定义和节点结构

2.黑高概念

3.一棵n个内点的红黑树的高度至多是2log(n+1)

4.左旋算法

5.插入算法的时间、至多使用2次旋转

6.删除算法的时间、至多使用3次旋转

10 数据结构的扩张(ch14)

1.动态顺序统计:

扩展红黑树,支持①选择问题(给定Rank求相应的元素),②Rank问题(求元素x在集合中的Rank)

(1)节点结构的扩展;

(2)选择问题的算法;

(3)Rank问题的算法;

(4)维护树的成本分析;

2.如何扩张一个数据结构:扩张的步骤;扩张红黑树的定理(略);

3.区间树的扩张和查找算法

11 动态规划(ch15)

1.方法的基本思想和基本步骤

2.动态规划和分治法求解问题的区别

3.最优性原理及其问题满足最优性原理的证明方法

4.算法设计

(1)多段图规划;             (2)矩阵链乘法;

(3)最大子段和;(4)最长公共子序列;

12 贪心算法(ch16)

1.方法的基本思想和基本步骤

2.贪心算法的正确性保证:满足贪心选择性质

3.贪心算法与动态规划的比较

4.两种背包问题的最优性分析:最优子结构性质和贪心选择性质

5.算法设计

(1)小数背包;               (2)活动安排;

(3)找钱问题;

13 回溯法(sch2)

1.方法的基本思想和基本步骤

2.回溯法是一种深度遍历的搜索

3.术语:三种搜索空间,活结点,死结点,扩展结点,开始结点,终端结点

4.两种解空间树和相应的算法框架

5.算法设计

(1)图和树的遍历;               (2)n后问题;

(3)0-1背包;(4)排列生成问题;

(5)TSP问题;

14 平摊分析(ch17)

1.平摊分析方法的作用和三种平摊分析方法各自特点

2.聚集分析法及应用

3.记账分析法及应用

4.势能法及应用

15 二项堆(ch19in textbook version 2)

1.为什么需要二项堆?二项堆和二叉堆上的几个基本操作时间复杂性

2.二项堆定义和存储结构

3.二项堆上合并操作及过程

4.二项堆应用(尤其是在哪些图论算法上有应用)

16 不相交集数据结构(ch21)

1.不相交数据集概念

2.两种实现方式:链表表示和森林表示

3.两种表示具体实现和其上操作的时间复杂性

4.不相交集数据结构应用(尤其是在哪些图论算法上有应用)

17 图论算法(ch22-ch25)

BFS和DFS算法

- 白色、灰色和黑色结点概念和作用

- 计算过程及其时间复杂度

2.最小生成树

- 安全边概念和一般算法(Generic algorithm)

- Kruskal算法和Prim算法的计算过程和计算复杂性

- 两种贪心算法的贪心策略和贪心选择性质

3.单源最短路径

- 单源最短路径δ(s, v)和短路径上界d[v]概念

- 边松弛技术及其一些性质

- 三种问题算法的计算过程及其时间复杂度:Bellman-Ford算法、DAG算法和Dijkstra算法

4. 所有点对最短路径

- 为什么能转换为矩阵乘法?

- 基于矩阵乘法的较慢和快速算法的时间复杂度

- Floyd-Warshall Algorithm的思路和时间复杂度

- Johnson Algorithm适应的问题及其时间复杂度(略)

18 数论算法(ch31)

1.gcd(a, b)及其表示成a, b线性组合方法

2.Euclid’s Alg.的运行时间

3.线性模方程的求解方法

4.中国余数定理及其相应线性同余方程组的求解

5.RSA算法过程及正确性基础

6.简单素数测试算法和伪素数测试算法

7.MR算法的改进措施和算法复杂性

19 串匹配(ch32)

1.朴素的串匹配算法及其时间复杂度

2. Rabin-Karp串匹配算法及其时间复杂度

3.有限自动机串匹配算法及其及其时间复杂度

4.KMP串匹配算法及其时间复杂度

20 模型和NPC(ch34)

1.算法的严格定义

2.几种计算模型的语言识别能力

3.两类图灵机模型

4.P问题、NP问题和NP完全问题的定义及P归约

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值