`
BBLLMYD
  • 浏览: 17892 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

贪婪算法

阅读更多

贪婪算法基本思路:从问题的某一个初始解出发逐步逼近给定的目标,以尽可能块地求得更好的解.当达到算法中的某一步不能再继续前进时,就停止算法,给出近似解.

   -不能保证最后的解释最优的;

   -不能用来求最大或者最小解的问题;

   -只能求满足某些约束条件的可行解得范围.

实例:换零钱


 

Java代码描述

public class Test {

	static int MAXN = 9;
	static int[] parvalue = {10000,5000,1000,500,200,100,50,20,10};
	static int[] num = new int[9];
	
	public static void main(String[] args) {
		int i;
		float m;
		System.out.println("请输入要处理的金额");
		Scanner sc = new Scanner(System.in);
		m = sc.nextFloat();
		exchange((int)(100*m));
		System.out.println("零钱组成为");
		for(i=0;i<MAXN;i++){
			if(num[i]>0){
				System.out.println((float)(parvalue[i]/100.0)+"元 "+num[i]+"张");
			}
		}
	}
	
	public static void exchange(int n){
		int i;
		for(i = 0;i<MAXN;i++){
			if(n>parvalue[i]){	//找到最大面额
				break;
			}
		}
		while(n>0&&i<MAXN){		//循环寻找逐渐小的面额
			if(n>=parvalue[i]){
				n-=parvalue[i];	//拿到当前面额最大的一张
				num[i]++;		//当前面额计数器加一
			}else if(n<10&&n>=5){
				num[MAXN-1]++;
				break;
			}else{
				i++;
			}
		}
	}	
}

 运行结果:


 


 
 

  • 大小: 26.1 KB
  • 大小: 3.3 KB
1
2
分享到:
评论

相关推荐

    ofdm资源分配中的贪婪算法(代码)

    贪婪算法在资源分配中被广泛应用,因其简单且能够快速找到近似最优解。 贪婪算法是一种局部最优策略,每次选择当前最优的解决方案,直到问题得到解决。在OFDM资源分配中,这种策略可能涉及为每个用户分配尽可能多的...

    经典算法 贪婪算法.rar

    贪婪算法是一种在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择,从而希望导致结果是最好或最优的算法。贪婪算法的特点在于它总是做出局部最优的选择,期望这些局部最优的选择能导出全局最优解。然而...

    算法基础+第1章+贪婪算法

    贪婪算法是计算机科学中一种重要的算法思想,常用于求解优化问题。在处理问题时,它遵循“每一步都采取当前看起来最优的选择”这一原则,即局部最优解,期望通过一系列局部最优解来达到全局最优解。然而,贪婪算法并...

    贪婪算法的研究和应用123

    《贪婪算法的研究与应用》 贪婪算法是一种在程序设计领域广泛应用的解决最优化问题的方法。其核心思想是在问题求解的过程中,每一步都选择当前看起来最优的决策,即贪婪准则,以此逐步构建全局的最优解。然而,这种...

    动态规划,分治算法,概率算法,模拟退火算法,搜索算法,贪婪算法,网上matlab,遗传算法,组合算法

    本篇文章将深入探讨标题和描述中提到的一些核心算法,包括动态规划、分治算法、概率算法、模拟退火算法、搜索算法、贪婪算法、在线MATLAB应用、遗传算法以及组合算法。 1. **动态规划**:动态规划是一种解决具有...

    贪婪算法的代码

    ### 贪婪算法在分页式存储管理中的应用 #### 实验背景与目的 本实验旨在通过编写一个模拟分页式存储管理程序,帮助学习者深入理解分页式存储管理的基本概念及其实现方法。实验重点是实现最近最久未使用(LRU)页面...

    易语言源码贪婪算法.rar

    贪婪算法是一种在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择,从而希望导致结果是全局最好或最优的算法策略。在易语言中实现贪婪算法,可以帮助我们解决很多优化问题,比如任务调度、网络路由、...

    贪婪算法是一个很好的算法大家都应该看一看

    贪婪算法是一种解决问题的有效策略,它基于“每一步都选择当前看起来最优”的决策原则。这种算法在许多实际问题中都有应用,比如最小化成本、最大化收益等。贪婪算法并不保证总能得到全局最优解,但它的简单性和高效...

    贪婪算法以及实际应用

    贪婪算法是一种解决问题的策略,它在每一步决策中都选择当前看起来最优的选择,而不考虑长远的整体最优解。这种算法在很多情况下能得出全局最优解,但并非对所有问题都能保证。贪婪算法通常包括四个步骤:建立问题的...

    贪婪算法matlab 代码

    一个具体的贪婪算法matlab程序代码,可以作为子程序嵌入到多种程序中,方便实用

    贪婪算法___数据结构

    贪婪算法是一种在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择,从而希望导致结果是全局最好或最优的算法策略。在数据结构领域,贪婪算法经常用于解决资源分配、任务调度等问题,它追求局部最优解,...

    贪婪算法的介绍

    贪婪算法是一种在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择,从而希望导致结果是最好或最优的算法策略。它通常用于解决优化问题,尤其是在时间或空间复杂度上需要高效求解的问题。贪婪算法的核心...

    lallala.rar_greedy_matlab贪婪算法_贪婪_贪婪 Matlab_贪婪算法

    关于最佳贪婪算法的实现 关于最佳贪婪算法的实现

    最优化问题 贪婪算法

    贪婪算法是一种解决问题的策略,它在每一步都选择局部最优解,希望通过一系列局部最优的选择达到全局最优解。这种算法的特点是决策不可逆,一旦做出选择,就不能改变。贪婪准则则是指导这种决策过程的标准,通常是在...

    贪婪算法关于数学建模

    贪婪算法是一种解决问题的方法,特别是在数学建模中,它通过每一步选择局部最优解来尝试达到全局最优解。这种策略在一些问题中非常有效,但在其他问题中可能无法找到全局最优解,因为它通常不考虑未来的决策可能带来...

    贪婪算法和最小路径算法解决TSP问题matlab源代码

    总之,理解和实现贪婪算法和最小路径算法解决TSP问题,可以帮助我们深入理解组合优化问题的求解策略,并在MATLAB这样的数值计算环境中实践这些策略。同时,这也为我们提供了进一步探索更复杂优化算法的基础。

    遗传算法和贪婪算法结合解决背包问题,matlab程序

    本算法用遗传算法和贪婪算法解决了背包问题,产生解得方法用贪婪算法,然后引入了一个错解的修复算法,搜索的时候用遗传算法。保证了快速收敛和解的完备性。包含源程序,算法介绍以及一份详细的报告,希望对读者有很...

    使用贪婪算法mp对图像进行重构

    在图像处理领域,贪婪算法(Greed Algorithm)如匹配 pursuit(MP)被广泛应用于图像的稀疏表示和重构。这个过程旨在用尽可能少的基函数来表示原始图像数据,从而达到压缩存储、降噪和特征提取的目的。MP算法是一种...

Global site tag (gtag.js) - Google Analytics