算法第四章作业
选点问题的贪心策略与分析
贪心策略:
- 将所有区间按右端点从小到大排序;
- 选择第一个区间的右端点作为第一个选点;
- 遍历后续区间:若当前区间左端点大于已选点,则选择该区间的右端点作为新的选点,重复此过程。
贪心选择性质证明:
假设最优解的第一个选点为x,贪心选择的第一个选点为y(y是第一个区间的右端点)。
由于区间按右端点排序,y ≤ x(否则x无法覆盖第一个区间)。用y替换x后,y能覆盖所有被x覆盖的区间,新解仍为最优解。因此该策略满足贪心选择性质。
时间复杂度:
排序区间:O(n log n);
遍历选点:O(n);
整体时间复杂度为O(n log n)。
对贪心算法的理解
核心逻辑:每一步做局部最优选择,通过一系列局部最优得到全局最优。
适用条件:需同时满足
- 贪心选择性质:局部最优选择可导出全局最优;
- 最优子结构:问题的最优解包含其子问题的最优解。
特点:
优势:实现简单、时间复杂度低(通常为线性或线性对数级);
局限性:仅适用于满足上述条件的问题(如“0-1背包”不适用,“区间覆盖”适用),需严格证明正确性。

浙公网安备 33010602011771号