第四次作业
选点问题:
1.按区间右端点bi从小到大排序,如果右端点相同,则按左端点 ai从小到大排序。
2.从第一个区间开始,选择第一个区间的右端点作为一个选点。
3.继续遍历后续区间:
(1)如果当前区间左端点小于等于已选的点, 说明这个点在这个区间内,则跳过,该区间已被覆盖。
(2)否则(当前区间的左端点大于已选的点),说明这个点不在该区间内,那么选择当前区间的右端点作为新的点,point++。
2.算法的时间复杂度:
排序:O(nlogn)
遍历:O(n)
总的时间复杂度O(nlogn)
对贪心算法的理解
根据上面选点问题的例子可以看下贪心算法是在每一步选择中选择最优解,最后达到整体最优的一种策略。贪心算法是一种短视但高效的算法策略,它通过一系列不可撤回的局部最优选择来构建全局解。它的有效性依赖于问题的特殊结构——当前最优选择能导向全局最优,且问题具有最优子结构。核心要点:做出当前最好的选择、不考虑未来后果期望、局部最优的累积就是全局最优。

浙公网安备 33010602011771号