• 贪婪活动选择问题和背包问题




            今天上午听了米老师讲的算法,感觉收获非常多,对于算法更加有信心了。首先,先来宏观看一下:

     

           




               这三种算法总的来说,刚開始看的时候不知道怎么下手,可是看多了也会有那么一点儿感觉。分治法是这三种算法里面都有的思想,动态规划和贪心都是将问题分解成子问题求解,但动态规划里面的子问题都带有联系,而贪心算法里面的子问题都相对独立,唯一不同的是,贪心算法要首先想出一个解决方式来构造求解最优解的过程。


         宏观介绍下算法后,来看看贪心算法的两个实例。


       一,活动选择问题


        

              


        解决方式:   

                  对于活动的选择问题,我们求解过程是这种,先把这些活动依照结束时间从早到晚排列,然后从第一个開始选择,假设第i个活动的開始时间比第i-1个活动的结束时间晚,我们就将此活动增加到解集合中。


           

        伪代码解读:



              递归方式求解:


       




                迭代方式求解:





       假设看完伪代码后还是没什么感觉,能够用以下的一些数据进行计算:

              


        



    二,背包问题

           



       解决方式:


               由于能够部分装入背包,所以,我们将物品依照单位价值从大到小排序,依次选取,直到背包被装满为止。


     伪代码解读:


            



          

           小结,本来也想写写动态规划的伪代码注解的,but......我也不太懂,算法一直以来是我比較弱的地方,可是感觉研究起来,也是最有意思的,跪求大神參与讨论~~~~~~~

           

      



  • 相关阅读:
    排序算法的实现(冒泡,选择,插入 O(N*N)--理解方法实现
    HTTPS工作原理和TCP握手机制
    HTTP协议学习
    IP头,TCP头,UDP头,MAC帧头定义
    单链表的实现
    数字图像处理------中值滤波
    对于矩阵的理解-- by 孟岩老师
    java编码问题总结
    jsp数据库连接大全和数据库操作封装到Javabean
    构建一个高可扩展性javabean和jsp连接数据库操作
  • 原文地址:https://www.cnblogs.com/blfshiye/p/4555485.html
Copyright © 2020-2023  润新知