国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

香港云服务器
服務器之家 - 編程語言 - JAVA教程 - 淺析java貪心算法

淺析java貪心算法

2019-12-09 14:27hebedich JAVA教程

這篇文章簡單主要介紹了java貪心算法,包含貪心算法的基本思路,性質,以及實現示例,有需要的小伙伴參考下

貪心算法的基本思路

   1.建立數學模型來描述問題。 

 2.把求解的問題分成若干個子問題。 

 3.對每一子問題求解,得到子問題的局部最優解。 

 4.把子問題的解局部最優解合成原來解問題的一個解。 

 實現該算法的過程: 

 從問題的某一初始解出發; 

 while 能朝給定總目標前進一步 do 

 求出可行解的一個解元素;  

由所有解元素組合成問題的一個可行解。

貪心選擇性質

      所謂貪心選擇性質是指所求問題的整體最優解可以通過一系列局部最優的選擇,換句話說,當考慮做何種選擇的時候,我們只考慮對當前問題最佳的選擇而不考慮子問題的結果。這是貪心算法可行的第一個基本要素。
貪心算法以迭代的方式作出相繼的貪心選擇,每作一次貪心選擇就將所求問題簡化為規模更小的子問題。
      對于一個具體問題,要確定它是否具有貪心選擇性質,必須證明每一步所作的貪心選擇最終導致問題的整體最優解。

2.最優子結構性質
       當一個問題的最優解包含其子問題的最優解時,稱此問題具有最優子結構性質。問題的最優子結構性質是該問題可用貪心算法求解的關鍵特征。
貪心法的一般流程

 

復制代碼代碼如下:

Greedy(C)  //C是問題的輸入集合即候選集合
{
    S={ };  //初始解集合為空集
    while (not solution(S))  //集合S沒有構成問題的一個解
    {
       x=select(C);    //在候選集合C中做貪心選擇
       if feasible(S, x)  //判斷集合S中加入x后的解是否可行
          S=S+{x};
          C=C-{x};
    }
   return S;

 

問題描述:

當前有面值分別為2角5分,1角,5分,1分的硬幣,請給出找n分錢的最佳方案(要求找出的硬幣數目最少)

問題分析:

根據常識,我們到店里買東西找錢時,老板總是先給我們最大面值的,要是不夠再找面值小一點的,直到找滿為止。如果老板都給你找分數的或者幾角的,那你肯定不干,另外,他也可能沒有那么多零碎的錢給你找。其實這就是一個典型的貪心選擇問題。

問題的算法設計與實現

先舉個例子,假如老板要找給我99分錢,他有上面的面值分別為25,10,5,1的硬幣數,為了找給我最少的硬幣數,那么他是不是該這樣找呢,先看看該找多少個25分的,誒99/25=3,好像是3個,要是4個的話,我們還得再給老板一個1分的,我不干,那么老板只能給我3個25分的拉,由于還少給我24,所以還得給我2個10分的和4個1分。

 

復制代碼代碼如下:

//找零錢算法
//輸入:數組m,依次存放從大到小排列的面值數,n為需要找的錢數,單位全部為分
//輸出:數組num,對照數組m中的面值存放不同面值的硬幣的個數,就找錢方案
 public static int[] zhaoqian(int m[],int n)
 {
        int k=m.length;
        int[] num=new int[k];
        for(int i=0;i<k;i++)
        {
                num<i>=n/m<i>;
                n=n%m<i>;
        }
        return num;
 }

 

 

復制代碼代碼如下:

public class zhaoqian
{
 public static void main(String[] args)
 {
        int m[]={25,10,5,1};
        int n=99;
        int[] num=new int[m.length];
        num=zhaoqian(m,n);
        System.out.println(n+"的找錢方案:");
        for(int i=0;i<m.length;i++)
        System.out.println(num<i>+"枚"+m<i>+"面值");
 }
 public static int[] zhaoqian(int m[],int n)
 {
        int k=m.length;
        int[] num=new int[k];
        for(int i=0;i<k;i++)
        {
                num<i>=n/m<i>;
                n=n%m<i>;
        }
        return num;
 }
}

 

以上所述就是本文的所有內容了,希望小伙伴們能夠喜歡。

延伸 · 閱讀

精彩推薦
351
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 欧美精品一区二区三区手机在线 | 日韩视频精品在线 | 一级片黄色免费 | 亚洲久草视频 | 国产精品三区在线 | 深夜精品 | 国产成人亚洲精品 | 午夜在线影院 | 精品一区二区久久 | 欧美激情精品久久久久久 | 男女免费观看在线爽爽爽视频 | 国产精品一区二区三区四区 | 欧美日韩一区二区三区在线观看 | 国产在线第一页 | 视频一区在线观看 | 成人片在线播放 | 中文字幕日韩欧美一区二区三区 | 大白屁股一区二区视频 | 精品久久久久久国产 | 日韩av一区二区在线观看 | 精品国产乱码久久久久久影片 | 精品久久久一区 | 国产成人精品一区二区三区 | 日本少妇一区二区三区 | 亚洲精品视频在线 | 日韩精品一区二区在线观看 | 久久av网 | 99视频精品| 人人爱av| 国产精品日韩一区 | 国产精品亚洲自拍 | 国产中文视频 | 五月激情天 | 夜夜av| a网站在线观看 | 亚洲第一色 | 不卡视频一二三区 | 国产资源在线观看视频 | 久久久久久婷婷 | 日本久草 | 国产精品jizz在线观看麻豆 |