貪心演算法,過載問題

2021-06-22 13:18:19 字數 2079 閱讀 1990

說明:執行環境:

:ubuntu 

input.txt:

6 50

2 3 13 8 80 20

裝入的資料是:

2 3 8 13 20

output.txt:5

源**:

#include

#include

#include

#include

#include

#define n 20

//快速排序遞迴,

a代表陣列,

low代表陣列的第乙個數的下標,

high

代標陣列最後乙個數的下標

int partition(int a,int low,int high)

int x=a[low];//將陣列的第乙個數賦給x

while(lowwhile(a[high]>=x && low從後往前找比

x小的數

high--;

if(lowa[low]=a[high];//從後往前找到比

x小的數賦給

a[low]

low++;

while(a[low]從前往後找比

x大的數 

low++;

if(lowa[high]=a[low];//從前往後找比

x大的數賦給

a[high]

high--;

a[low]=x; 

return low;

//開速排序

void quicksort(int a,int low,int high)

if(low

int pos=partition(a,low,high);//遞迴呼叫

quicksort(a,low,pos-1);

quicksort(a,pos+1,high);

//找出最多可以儲存的數,

a代表陣列,

low代表陣列開始小標 

high

代表陣列最大下標

void maxnumber(int a,int low,int high)

int i,t;

file *fp1;

printf("裝入的資料分別是:

\n");

for(i=low;iif(a[i]printf("%d ",a[i]); 

a[1]=a[1]-a[i];

else //將結果寫入檔案

fp1=fopen("output.txt","wt");

if(fp1==null)

printf("connot open file!");

exit(0);

fprintf(fp1,"%d",(i-2));

fclose(fp1);

printf("\noutput.txt:\n");

fp1=fopen("output.txt","rt");//讀檔案

if(fp1==null)

printf("connot open file!");

exit(0);

i=0;

while(fscanf(fp1,"%d",&a[i])!=eof)

printf("%d\n",a[i]);

i++;

fclose(fp1);

main()

file *fp;

int i,t,a[n];

printf("input.txt:\n"); //讀檔案

fp=fopen("input.txt","rt");

if(fp==null)

printf("connot open file!");

exit(0);

i=0;

while(fscanf(fp,"%d",&a[i])!=eof)

i++;

t=i;

printf("%d %d\n",a[0],a[1]);

for(i=2;iprintf("%d ",a[i]);

printf("\n");

fclose(fp);

quicksort(a,2,t);

maxnumber(a,2,t);

貪心演算法 裝箱問題

貪心演算法中必須設定乙個貪心準則 來尋求每一步的最優解,但最後往往不是問題的整體最優解。問題 假設有n個物品,其體積為v1,v2,v3,v4.v n,有若干個體積為v的箱子 理論物品的體積應該小於箱子的體積 要求把所有物品全部裝入箱子中,要求開啟的箱子數最少。分析 怎樣合理化分配才能使得開啟的箱子數...

貪心演算法(裝箱問題)

貪心演算法的基本思想是找出整體當中每個小的區域性的最優解,並且將所有的這些區域性最優解合起來形成整體上的乙個最優解。因此能夠使用貪心演算法的問題必須滿足下面的兩個性質 1.整體的最優解可以通過區域性的最優解來求出 2.乙個整體能夠被分為多個區域性,並且這些區域性都能夠求出最優解。3.區域性最優解不一...

貪心演算法 區間問題

區間選單個點 問題描述 數軸上有n個閉區間 ai,bi 取盡量少的點,使得每個區間內都至少有乙個點 不同區間內含的點可以是同乙個 輸入 第1行 乙個整數n 接下來n行,每行2個整數ai,bi 輸出 乙個整數,表示滿足條件的最少點數。樣例輸入 5 4 62 3 1 46 8 5 7 樣例輸出 2策略分...