zoukankan      html  css  js  c++  java
  • 贪心算法。

    仅做学习记录,具体可参照  https://www.cnblogs.com/xsyfl/p/6938642.html   写的很好。

    所谓贪心算法就是 在每一次的求解中 ,都使用最佳操作,这样所有步骤的求解 组合起来就是 全局的最优解。。

    比如一个会议室如何最大利用。找零。

    假设有n个会议要使用会议室,假设每个会议都有开始时间Sn 和  结束时间 Fn  . 必须满足其上一个会议的结束时间小于改会议的开始时间。

    我们假定一个会议越早结束,那么后面我越能安排更多的会议。

    所以先把所有会议按照结束时间排序 升序。

    1. 第一个是最早结束的会议。

    2. 找到开始时间小于第一步结束时间 , 且最早结束的会议。 

    3. 依次求解, 组合起来即为最优解。

    伪代码:

    List<actvie> res ;  存放最优解

    List<Active>  as  ; //会议集合

    as.sort 按结束时间排序

    res.add(as[0]) ;// 作为第一个最佳解

    time = as[0].endtime   第一个元素的结束时间作为最早结束时间

    for ( i = 1 ,i < as.length ; i++)

      if  as[i].startTime > time 

        res .add (as[i]) 

        time = as[i].endtime

  • 相关阅读:
    XML解析技术研究(一)
    Qt解析XML文件(QXmlStreamReader)
    Qt XML读取写入操作
    QT QXmlStreamWriter用法小结
    QtXML 举例
    libpcap使用
    PCAP研究
    粗谈pcap_next_ex()
    C#扇形的绘制与Hittest交互、图种制作
    ORA-01747: user.table.column, table.column 或列说明无效
  • 原文地址:https://www.cnblogs.com/zhangchenglzhao/p/10075474.html
Copyright © 2011-2022 走看看