算法第四章作业

1.我对贪心算法的理解:先得到最小子问题的最优解,以此为基础得到下一步规模更大的子问题的最优解,以此类推,最后得到整个问题的最优解

2.我选择的是删数问题

贪心算法是每次删数时选取第一个升序子序列的最后一个数删去,依次处理,最后即可得到最小数

证明设删去数的集合为{n1, n2,n3,...,nn,...},原数为k1k2k3k4....kn

假设n1 == k4,第一次删去的数不是n1而是它前面的某个数s,则有n1 > s,

假设删去的数为k2,则第一次删去一个数后变为k1k3k4k5...kn,

而按原来方法删数为k1k2k3k5k6...kn;

因为同位上的k3 > k2,所以k1k3k4k5...kn > k1k2k3k5k6...kn;

不是最小数所以原方法正确

3.遇到的问题

找不到问题的贪心算法性质,不知道如何去寻找,我们是两个人分开编程,最后在互相结对的,所以效率会有些低

 

posted @ 2020-11-15 09:34  zhang’  阅读(85)  评论(0编辑  收藏  举报