第四章作业

  1. 你对贪心算法的理解(2分)
  2. 请说明汽车加油问题的贪心选择性质(2分)
  3. 请说明在本章学习过程中遇到的问题及结对编程的情况(1分)

 

 

1.

我觉得贪心算法就是从局部出发,每一步都是求当前状况的最优解,就是最优子结构性质,不过重点是找出最优解的方法。例如,会场安排问题:选出最早结束的场次。

 

2.

汽车加油问题,就是如果每一程的都能走的话,就是每一程都小于或等于满油能走的路程,就可以开始贪心算法了,核心是一开始满油的汽车开始走,走到每一站都检查一下自己当前的油是否能够走完下一站,不够就加油,这就是最优子结构,每一步都是当前的最优解。

       for(int i=0;i<=n+1;i++)

       {

            fuel=fuel-m[i];

            if(fuel<m[i+1])

            {

                   count++;

                   fuel=k;

                     }

}

 

3.

贪心算法其实跟动态规划思路差不多,就是先要找出递归式或者是贪心思路,我在第二题那个会场安排问题中卡了很久,因为之前一道例题是讲的节目安排问题,一定的时间呢内安排最多的节目,而这道题是会场安排问题,一定的节目数量,用最少的会场他们安排,节目一定要排完。一开始我是在例题的基础上,再加一个没给安排上的节目照着最早结束时间这个思路全拍,直至全部排完。可是最后发现不对,因为贪心策略出了问题,应该是按照开始时间递增来排序。这个点我很是不明白。不是应该每一场尽可能安排多的活动(按结束时间递增排序)吗?

posted @ 2018-11-29 23:03  荷里活DJ  阅读(139)  评论(0编辑  收藏  举报