贪心算法的几个简单问题求解
1.传统的找零钱问题的算法及程序实现(基于人民币)。
2.特殊的0-1背包问题(Xi∈[0,1])的求解:本次求解的0-1背包问题的特点为每种物品各有M件,已知每个物品的单位价值,求使得所获价值最大的装包方案。
3.最大字段和问题。
一、实验目的
本次实验是针对贪心算法运用的算法设计及应用练习,旨在加深学生对该部分知识点的理解,提高学生运用该部分知识解决问题的能力。
三、 实验项目
1.传统的找零钱问题的算法及程序实现(基于人民币)。
2.特殊的0-1背包问题(Xi∈[0,1])的求解:本次求解的0-1背包问题的特点为每种物品各有M件,已知每个物品的单位价值,求使得所获价值最大的装包方案。
3.最大字段和问题。
四、实验过程
(一)题目一:传统的找零钱问题的算法及程序实现(基于人民币)
-
题目分析
在不超过应找零钱的总数的前提下,每次找零选取最大的面额。 -
算法构造
在此论证算法设计中的一些必要的设计依据。
依次寻找到比n小的最大面值:
if(n>=value[i])
{
n-=value[i];
num[i]++;
} -
算法实现
package com.cn;
import java.util.Scanner;
public class Zhaoq