zoukankan      html  css  js  c++  java
  • 贪心算法_活动选择

      算法导论中用活动选择问题引出对贪心算法的讨论,并与动态规划做比较,将的很不错,下面这篇博客同样做了很不错的论述

      传送门:http://www.cnblogs.com/Anker/archive/2013/03/16/2963625.html

       我只贴出我的贪心算法的代码:

      

    #include<iostream>
    #include<vector>
    using namespace std;
    
    int s[12] = { 0,1,3,0,5,3,5,6,8,8,2,12 };
    
    int f[12] = { 0,4,5,6,7,9,9,10,11,12,14,16 };
    
    vector<int> Greedy_Activity_Selector(int s[], int f[])
    {
    	int n = 12;
    	vector<int> A;
    	A.push_back(1);
    	int k = 1;
    	for (int m = 2; m <= n; m++)
    	{
    		if (s[m] >= f[k])
    		{
    			A.push_back(m);
    			k = m;
    		}
    			
    	}
    	return A;
    }
    
    
    void printf_vector(vector<int> A)
    {
    	for (unsigned a = 0; a != A.size(); ++a)  //输出A
    	{
    		cout << A[a] << " ";
    	}
    	cout << endl;
    }
    
    int main()
    {
    
    	vector<int> A = Greedy_Activity_Selector(s, f);
    
    	printf_vector(A);
    
    	
    
    	return 0;
    
    }
    

       贪心算法和动态规划有着重要的联系与区别,正像上面的博客提到的,动态规划解决问题时全局最优解中一定包含某个局部最优解,但不一定包含前一个局部最优解,因此需要记录之前的所有最优解。贪心算法的主要思想就是对问题求解时,总是做出在当前看来是最好的选择,产生一个局部最优解。

        总结的很好

       算法之路异常艰辛,我等前行且珍惜。

       夜深了,我该走了

  • 相关阅读:
    2dsphere索引
    geoNear查询 near查询的升级版
    geoWithin查询 多边形查询
    [TJOI2013]最长上升子序列
    「bzoj3956: Count」
    「bzoj3687: 简单题」
    「SDOI2008沙拉公主的困惑」
    郑州Day6
    「Luogu-U18201」分析矿洞
    【[COCI2011-2012#5] POPLOCAVANJE】
  • 原文地址:https://www.cnblogs.com/1242118789lr/p/7528227.html
Copyright © 2011-2022 走看看