如果无法举出反例,如何证明贪心算法的正确性?
数学归纳法由n推到n+1
反证法,假设不正确推导矛盾
给定一组区间,保证区间不重复个数最多。
解:按照区间结尾排序,每次选择结尾最早的,且和前一个区间不重叠的区间。
某次选择的是si,fi,其中fi是当前所有选择中结尾最早的
假设不是最优的。也就是说,如果这个问题的最优解为k,则这个选择得到的解最多为k-1.
假设最优解在这一步选择sj,fj,fj>fi.
此时,显然可以将si,fi替换sj,fj,而不影响后续的区间选择。
如果无法举出反例,如何证明贪心算法的正确性?
数学归纳法由n推到n+1
反证法,假设不正确推导矛盾
给定一组区间,保证区间不重复个数最多。
解:按照区间结尾排序,每次选择结尾最早的,且和前一个区间不重叠的区间。
某次选择的是si,fi,其中fi是当前所有选择中结尾最早的
假设不是最优的。也就是说,如果这个问题的最优解为k,则这个选择得到的解最多为k-1.
假设最优解在这一步选择sj,fj,fj>fi.
此时,显然可以将si,fi替换sj,fj,而不影响后续的区间选择。