mirror of
https://github.com/krahets/hello-algo.git
synced 2026-08-14 12:40:58 +00:00
build
This commit is contained in:
@@ -3,7 +3,7 @@ comments: true
|
||||
status: new
|
||||
---
|
||||
|
||||
# 15.2. 分数背包问题
|
||||
# 15.2 分数背包问题
|
||||
|
||||
分数背包是 0-1 背包的一个变种问题。
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ comments: true
|
||||
status: new
|
||||
---
|
||||
|
||||
# 15.1. 贪心算法
|
||||
# 15.1 贪心算法
|
||||
|
||||
贪心算法是一种常见的解决优化问题的算法,其基本思想是在问题的每个决策阶段,都选择当前看起来最优的选择,即贪心地做出局部最优的决策,以期望获得全局最优解。贪心算法简洁且高效,在许多实际问题中都有着广泛的应用。
|
||||
|
||||
@@ -221,7 +221,7 @@ status: new
|
||||
}
|
||||
```
|
||||
|
||||
## 15.1.1. 贪心优点与局限性
|
||||
## 15.1.1 贪心优点与局限性
|
||||
|
||||
**贪心算法不仅操作直接、实现简单,而且通常效率也很高**。在以上代码中,记硬币最小面值为 $\min(coins)$ ,则贪心选择最多循环 $amt / \min(coins)$ 次,时间复杂度为 $O(amt / \min(coins))$ 。这比动态规划解法的时间复杂度 $O(n \times amt)$ 提升了一个数量级。
|
||||
|
||||
@@ -242,7 +242,7 @@ status: new
|
||||
1. **可以保证找到最优解**:贪心算法在这种情况下往往是最优选择,因为它往往比回溯、动态规划更高效。
|
||||
2. **可以找到近似最优解**:贪心算法在这种情况下也是可用的。对于很多复杂问题来说,寻找全局最优解是非常困难的,能以较高效率找到次优解也是非常不错的。
|
||||
|
||||
## 15.1.2. 贪心算法特性
|
||||
## 15.1.2 贪心算法特性
|
||||
|
||||
那么问题来了,什么样的问题适合用贪心算法求解呢?或者说,贪心算法在什么情况下可以保证找到最优解?
|
||||
|
||||
@@ -263,7 +263,7 @@ status: new
|
||||
|
||||
Pearson, David. A polynomial-time algorithm for the change-making problem. Operations Research Letters 33.3 (2005): 231-234.
|
||||
|
||||
## 15.1.3. 贪心解题步骤
|
||||
## 15.1.3 贪心解题步骤
|
||||
|
||||
贪心问题的解决流程大体可分为三步:
|
||||
|
||||
@@ -280,7 +280,7 @@ status: new
|
||||
|
||||
然而,正确性证明也很可能不是一件易事。如若没有头绪,我们通常会选择面向测试用例进行 Debug ,一步步修改与验证贪心策略。
|
||||
|
||||
## 15.1.4. 贪心典型例题
|
||||
## 15.1.4 贪心典型例题
|
||||
|
||||
贪心算法常常应用在满足贪心选择性质和最优子结构的优化问题中,以下是一些典型的贪心算法问题:
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ icon: material/head-heart-outline
|
||||
status: new
|
||||
---
|
||||
|
||||
# 15. 贪心
|
||||
# 第 15 章 贪心
|
||||
|
||||
<div class="center-table" markdown>
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ comments: true
|
||||
status: new
|
||||
---
|
||||
|
||||
# 15.3. 最大容量问题
|
||||
# 15.3 最大容量问题
|
||||
|
||||
!!! question
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ comments: true
|
||||
status: new
|
||||
---
|
||||
|
||||
# 15.4. 最大切分乘积问题
|
||||
# 15.4 最大切分乘积问题
|
||||
|
||||
!!! question
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ comments: true
|
||||
status: new
|
||||
---
|
||||
|
||||
# 15.5. 小结
|
||||
# 15.5 小结
|
||||
|
||||
- 贪心算法通常用于解决最优化问题,其原理是在每个决策阶段都做出局部最优的决策,以期望获得全局最优解。
|
||||
- 贪心算法会迭代地做出一个又一个的贪心选择,每轮都将问题转化成一个规模更小的子问题,直到问题被解决。
|
||||
|
||||
Reference in New Issue
Block a user