貪心演算法舉例

2021-06-16 15:27:43 字數 1402 閱讀 6584

1

/*有m位數,要求刪除n位,使得刪除後的數最小

例如:576397987456677811111111111,刪除576998使得刪除後的數最小*/

原創**:

#include //#include //可以用來編寫c

using namespace std;

void read (char a)

for(n=0;na[k])

k++;

} if(k==x)//該部分是指如果數列是按照順序排序的話,則應該從後開始刪除

for(int q=1,i=x-1;a[i]!=-1&&q<=(j-w);)

cout<<"刪除後的最小序列是:"<>n;

detele(a,m,n);

return 0;

}

參考:

#includevoid main()

} }printf("\n");

for(i=0;i2./*有一魔法師在森林中,森林中有n瓶藥水,每個藥水都有一定的濃度,只有藥水濃度p不大於所給的參考濃度時,藥水才有效,每瓶藥水

必須用完,配藥水,問最大體積是多少*/

*參考資料:

輸入3//三組資料                                    輸出:

1 100 10//1為一瓶濃度 100為體積 10為參考濃度        0

100//所給的一瓶藥水的濃度                    

2 100 24                                            100

20 30                

3 100 24                                            300

20 30 30 */

#include using namespace std;

#define m 10

void sort(int a,int n)

{ int k,i;

for(i=1;i<=n;i++)

for(int j=i+1;j<=n;j++)

if(a[j]>n;

for(i=1;i>n;

cin>>v;

cin>>w;

cout<<"請輸入所給的藥水各自的濃度:"<>a[i];

sort(a,n);

for(i=1;i<=n;i++)

if(a[i]w)

{cout<<"最大體積為:"<

經典貪心演算法 貪心演算法概述

貪心演算法具有最優子問題結構,它的特點是 短視 每次選擇對當前局面最有利的決策,來一步步獲得最優解。我個人認為,貪心不是乙個具體的方法,而是一類方法,貪心演算法的關鍵不在於想到,而在於正確性的證明。要證明乙個貪心演算法是正確的,需要證明我們可以把乙個最優解逐步轉化為我們用貪心演算法所得到的解,而解不...

演算法 貪心演算法

把乙個複雜問題分解為一系列較為簡單的區域性最優選擇,每乙個選擇都是對當前解的乙個擴充套件,知道獲得問題的完整解。在解決問題的策略上目光短淺,只根據當前已有的資訊做出選擇,而且一旦做出了選擇,不管將來有什麼結果這個選擇都不會改變。換言之,貪心法並不是從整體最優考慮,它所做出的選擇只是在某種意義上的區域...

演算法 貪心演算法

集合覆蓋問題 旅行商問題等都屬於np完全問題,在數學領域上並沒有快速得到最優解的方案,非常適合用貪婪演算法。判斷方法 1.元素較少時,一般執行速度很快,但隨著元素數量增多,速度會變得非常慢 2.涉及到需要計算比較 所有的組合 情況的通常是np完全問題 3.無法分割成小問題,必須考慮各種可能的情況。這...