算法第四章作业

1.(1)贪心策略:按区间右端点从小到大排序,从第一个区间开始,选它的右端点作为点,跳过所有能被这个点覆盖的区间,重复直到所有区间都有点
(2)证明:设按右端点排序后的第一个区间为I₁ = [a₁, b₁],其中b₁是最小的右端点,考虑任意最优解S,设S中覆盖区间I₁的点为p(p ∈ [a₁, b₁]),由于b₁是最小的右端点,所以对于所有其他区间Iᵢ,都有bᵢ ≥ b₁,因此p ≤ b₁ ≤ bᵢ,即p一定在区间I₁的右端点左侧或重合,用b₁替换p:因为p ≤ b₁,所以:对于I₁:b₁ ∈ [a₁, b₁],覆盖I₁,对于其他被p覆盖的区间Iᵢ:由于p ≤ b₁ ≤ bᵢ且p ≥ aᵢ ⇒ b₁ ≥ aᵢ,所以b₁也能覆盖这些区间,因此用b₁替换p后得到的新解S'仍然是可行解,且|S'| = |S|,所以存在包含b₁的最优解,贪心选择性质成立
(3)时间复杂度:排序时使用冒泡排序,时间复杂度O(nn),选择时一次遍历,时间复杂度O(n),则总时间复杂度为O(nn)
2.贪心算法是一种在每一步选择中都采取当前状态下最优的选择,从而希望导致全局最优解的算法策略。它的核心特点是"局部最优 → 全局最优"。

posted @ 2025-12-19 22:52  网安2402陈羽彤  阅读(0)  评论(0)    收藏  举报