zoukankan      html  css  js  c++  java
  • 贪婪活动选择问题和背包问题



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

     

           




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


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


       一,活动选择问题


        

              


        解决方式:   

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


           

        伪代码解读:



              递归方式求解:


       




                迭代方式求解:





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

              


        



    二,背包问题

           



       解决方式:


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


     伪代码解读:


            



          

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

           

      



  • 相关阅读:
    Java Web项目开发中常见路径获取方法
    Genymotion模拟器连接不上开发服务器解决办法
    百度鹰眼轨迹管理台部署到本地或者服务器上
    解决Hibernate4执行update操作,不更新数据的问题
    后台发送http请求通用方法,包括get和post
    Java后端发出post请求带参数并接收返回的json
    $.ajax()方法详解
    常见异常及解决办法
    jQuery通过地址获取经纬度demo
    python 导入模块与使用
  • 原文地址:https://www.cnblogs.com/blfshiye/p/4555485.html
Copyright © 2011-2022 走看看