算法 第四章作业

1.你对贪心算法的理解

     所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。而且贪心算法比动态规划算法更加简单,更加直接而且解题效率更高。即使贪心算法不能得到整体最优解,但其结果却是最优解的很好的近似解。
     贪心算法没有固定的算法框架,算法设计的关键是贪心策略的选择。必须注意的是,贪心算法不是对所有问题都能得到整体最优解,选择的贪心策略在某个状态以后的过程不会影响以前的状态,只与当前状态有关。

2.请说明汽车加油问题的贪心选择性质

for(int t =0; t<=j;t++)
    {
        sum=sum+a[t];
        if(i-sum<=a[t+1]&&i>=a[t])
        {
            sum=0;
            count++;
        }
        if(i<a[t])
        flag=1;
 
    }

汽车行驶过程中,应走到自己能走到并且离自己最远的那个加油站,在那个加油站加油后再按照同样的方法贪心


先检测各加油站之间的距离,若发现其中有一个距离大于汽车加满油能跑的距离,则输出no solution
否则,对加油站间的距离进行逐个扫描,尽量选择往远处走,不能走了就让count++,最终统计出来的count便是最少的加油站数

 

3.请说明在本章学习过程中遇到的问题及结对编程的情况

本章学习的贪心算法更加贴近我们的日常生活使用,所以学习起来也比较的容易理解,总体来说没有遇到什么特别大的问题,且在结对编程时能一起分析题目提出解决办法,总体来说还是比较顺利的

你可能感兴趣的:(算法 第四章作业)