From f005fca50ef8aeccb8c3f5477d548d302b98b80d Mon Sep 17 00:00:00 2001 From: estomm Date: Thu, 2 Jan 2020 22:19:36 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AE=97=E6=B3=95=E5=88=9D=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Algorithm/A类:基本算法/1 算法概述.md | 76 ++++++++++ Algorithm/A类:基本算法/2 算法效率.md | 136 ++++++++++++++++++ Algorithm/A类:基本算法/3 蛮力法.md | 0 Algorithm/A类:基本算法/4 递归与分治法.md | 19 +++ Algorithm/A类:基本算法/5 动态规划.md | 27 ++++ Algorithm/A类:基本算法/6 贪心算法.md | 20 +++ Algorithm/A类:基本算法/7 回溯法.md | 96 +++++++++++++ Algorithm/A类:基本算法/8 分支限界.md | 13 ++ Algorithm/A类:基本算法/9 随机化.md | 0 .../A类:基本算法/image/函数界的基本性质.png | Bin 0 -> 9736 bytes .../A类:基本算法/image/排列问题复杂度.png | Bin 0 -> 23532 bytes .../A类:基本算法/image/时间效率的界.png | Bin 0 -> 17252 bytes .../image/比较排序算法复杂度.png | Bin 0 -> 73899 bytes .../A类:基本算法/image/矩阵乘法复杂度.png | Bin 0 -> 73832 bytes Algorithm/A类:基本算法/image/算法流程.png | Bin 0 -> 20785 bytes .../A类:基本算法/image/递归算法复杂性1.png | Bin 0 -> 20648 bytes .../A类:基本算法/image/递归算法复杂性2.png | Bin 0 -> 19853 bytes .../A类:基本算法/image/递归算法复杂性3.png | Bin 0 -> 12110 bytes .../image/非递归算法复杂性分析.png | Bin 0 -> 20907 bytes Algorithm/课程概要.md | 9 ++ 20 files changed, 396 insertions(+) create mode 100644 Algorithm/A类:基本算法/1 算法概述.md create mode 100644 Algorithm/A类:基本算法/2 算法效率.md create mode 100644 Algorithm/A类:基本算法/3 蛮力法.md create mode 100644 Algorithm/A类:基本算法/4 递归与分治法.md create mode 100644 Algorithm/A类:基本算法/5 动态规划.md create mode 100644 Algorithm/A类:基本算法/6 贪心算法.md create mode 100644 Algorithm/A类:基本算法/7 回溯法.md create mode 100644 Algorithm/A类:基本算法/8 分支限界.md create mode 100644 Algorithm/A类:基本算法/9 随机化.md create mode 100644 Algorithm/A类:基本算法/image/函数界的基本性质.png create mode 100644 Algorithm/A类:基本算法/image/排列问题复杂度.png create mode 100644 Algorithm/A类:基本算法/image/时间效率的界.png create mode 100644 Algorithm/A类:基本算法/image/比较排序算法复杂度.png create mode 100644 Algorithm/A类:基本算法/image/矩阵乘法复杂度.png create mode 100644 Algorithm/A类:基本算法/image/算法流程.png create mode 100644 Algorithm/A类:基本算法/image/递归算法复杂性1.png create mode 100644 Algorithm/A类:基本算法/image/递归算法复杂性2.png create mode 100644 Algorithm/A类:基本算法/image/递归算法复杂性3.png create mode 100644 Algorithm/A类:基本算法/image/非递归算法复杂性分析.png diff --git a/Algorithm/A类:基本算法/1 算法概述.md b/Algorithm/A类:基本算法/1 算法概述.md new file mode 100644 index 00000000..735dac06 --- /dev/null +++ b/Algorithm/A类:基本算法/1 算法概述.md @@ -0,0 +1,76 @@ +# 算法概述 + +## 1 基本概念 + +### 定义 +算法是一系列解决问题的清晰指令,对于符合一定规范的输入,算法能够在有限时间内获得所要求的输出。算法是解决问题的一种方法或过程,它是由若干条指令组成的有穷序列。 + +### 特征 +输入:有零或多个外部量作为算法的输入。 +输出:算法产生至少一个量作为输出。 +确定性:组成算法的每条指令清晰、无歧义。 +有效性:算法中执行的任何计算步骤都是可以被分解为基本的可执行的操作步。 +有限性:算法中每条指令的执行次数有限,执行每条指令的时间也有限。 + +### 算法的描述 +* 算法的描述方式:自然语言、流程图、伪代码 +* 算法的正确性证明方式:归纳法 +* 算法分析:正确性分析、效率分析、复杂度分析 + +## 2 求解流程 + +### 求解步骤 + +![](image/算法流程.png) + + +## 3 算法分类 + +### 面向算法范式 +> 这一个主要是我们算法课程中学习到的算法。用来解决基本具体的问题。 +* 蛮力法(暴力破解、枚举、穷举) +* 递归与分治法 +* 动态规划 +* 贪心算法 +* 回溯法 +* 分支限界法 +* 随机化算法 + +### 面向数据结构 +> 在数据结构部分处理,数据结构本身就是算法的一部分,用于处理特殊数据结构的额算法。 +* 堆栈算法 +* 树算法 +* 图算法 + +### 面向问题类型 +> 这些都是常见的问题类型。 +* 搜索 + * 广度优先搜索 + * 深度优先搜索 +* 排序 + * 选择排序 + * 冒泡排序 + * 快速排序 + * 桶排序 +* 查找 + * 顺序查找 + * 二分查找 + * 插值查找 + * 菲波那切查找 + * 树表查找 + * 分块查找 + * 哈希查找 +* 字符串处理 +* 排列组合 + * 任务分配 + * 背包问题 +* 集合问题 +* 数值问题 + + +### 智能算法 +> 更高级的算法。 + * 蚁群算法 + * 模拟退火算法 + * 遗传算法 + diff --git a/Algorithm/A类:基本算法/2 算法效率.md b/Algorithm/A类:基本算法/2 算法效率.md new file mode 100644 index 00000000..e1722fac --- /dev/null +++ b/Algorithm/A类:基本算法/2 算法效率.md @@ -0,0 +1,136 @@ +# 算法效率 + +> 目录 +1. 算法效率的度量 +2. 函数的渐进的界 +3. 算法的基本复杂性类型 +4. 算法复杂性分析的基本方法 +5. 非递归算法的复杂性分析 +6. 递归算法的复杂性分析 +7. 递归算法与非递归算法比较 +8. 经验分析方法 +9. 算法可视化 + + +## 1 算法效率的度量 + +### 分类 +* 时间效率 +* 空间效率 + +### 算法效率的表示 + +N-要解决问题的规模 +I-算法的输入 +A-算法本身 +C-算法复杂性 +S-空间复杂性 +T-时间复杂性 +$$ +C = F(N, I, A)\\ +T = T(N, I)\\ +S = S(N, I)\\ +$$ + +### 算法效率的界 +包含最大时间效率、最小时间效率、平均时间效率。 +![](image/时间效率的界.png) + + +## 2 函数的渐进的界 + +### 函数的界定义 +设f 和g 是定义域为自然数集N上的函数 + +1. $f(n)=O(g(n))$渐进上界 +若存在正数$c$和$n0$使得对一切$n≥n0有0≤f(n)≤cg(n)$ +2. $f(n)= Ω(g(n))$渐进下届 +若存在正数$c$和$n0$使得对一切$n≥n0有0≤cg(n)≤ f(n)$ +3. $f(n)=o(g(n))$ +对任意正数$c$存在$n0$使得对一切$n≥n0$有$0≤f(n)的某个性质,那么P(x1,x2,…,xi+1)真蕴含P(x1,x2,…,xi) 为真,即 +P(x1,x2,…,xi+1) → P(x1,x2,…,xi) (0 | 1 ≤ xi ≤N, 1 ≤ i ≤N}(解空间)之中。可将问题解空间表示为一定的结构,通过对解空间的搜索,得到满足要求的问题解。 + +### 回溯法的程序结构 + +* 递归回溯 +``` +void backtrack (int t) +{ + if (t>n) output(x); + else + for (int i=f(n,t);i<=g(n,t);i++) { + x[t]=h(i); + if (constraint(t)&&bound(t)) backtrack(t+1); + } +} +``` +* 迭代回溯 +``` +void iterativeBacktrack () +{ + int t=1; + while (t>0) { + if (f(n,t)<=g(n,t)) + for (int i=f(n,t);i<=g(n,t);i++) { + x[t]=h(i); + if (constraint(t)&&bound(t)) { + if (solution(t)) output(x); + else t++;} + } + else t--; + } +} +``` + +### 分支限界与回溯法对比 +* 求解目标不同:回溯法的求解目标是找出解空间树中满足约束条件的所有解。而分支限界的求解目标是找出满足约束条件的一个解。这个解可能是最优解。 +* 搜索方式不同:回溯法以深度优先的方式搜索解空间。而分支限界法则以广度优先或以最小消耗优先的方式搜索解空间。 diff --git a/Algorithm/A类:基本算法/8 分支限界.md b/Algorithm/A类:基本算法/8 分支限界.md new file mode 100644 index 00000000..43972bc6 --- /dev/null +++ b/Algorithm/A类:基本算法/8 分支限界.md @@ -0,0 +1,13 @@ +# 分支限界 + +## 1 概述 + +### 基本思想 + +在分支限界法中,每一个活结点只有一次机会成为扩展结点。活结点一旦成为扩展结点,就一次性产生其所有儿子结点。在这些儿子结点中,导致不可行解或导致非最优解的儿子结点被舍弃,其余儿子结点被加入活结点表中。 + +此后,从活结点表中取下一结点成为当前扩展结点,并重复上述结点扩展过程。这个过程一直持续到找到所需的解或活结点表为空时为止。 + +### 常见的两种分支界限法 +* 队列式(FIFO)分支限界法:按照队列先进先出(FIFO)原则选取下一个节点为扩展节点。 +* 优先队列式分支限界法:按照优先队列中规定的优先级选取优先级最高的节点成为当前扩展节点。 diff --git a/Algorithm/A类:基本算法/9 随机化.md b/Algorithm/A类:基本算法/9 随机化.md new file mode 100644 index 00000000..e69de29b diff --git a/Algorithm/A类:基本算法/image/函数界的基本性质.png b/Algorithm/A类:基本算法/image/函数界的基本性质.png new file mode 100644 index 0000000000000000000000000000000000000000..b1ead133105391d0e77179059b9a1f3f808279bb GIT binary patch literal 9736 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 B-8}#R literal 0 HcmV?d00001 diff --git a/Algorithm/A类:基本算法/image/排列问题复杂度.png b/Algorithm/A类:基本算法/image/排列问题复杂度.png new file mode 100644 index 0000000000000000000000000000000000000000..08482c5ef89879cb808cb6689c88fdda1d147f6c GIT binary patch literal 23532 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