貪心演算法(又稱貪婪演算法)是指,在對問題求解時,總是做出在當前看來是最好的選擇。也就是說,不從整體最優上加以考慮,他所做出的是在某種意義上的區域性最優解。問題描述
設有n個活動的集合e= ,其中每個活動都要求使用同一資源,如演講會場等,而在同一時間內只有乙個活動能使用這一資源。每個活動i都有乙個要求使用該資源的起始時間si和乙個結束時間fi,且si實現**實現**執行結果#include
#include
using
namespace std;
void
greedyselector
(int n,
int s,
int f,
int a)
;int
main()
;int f=
;int n =11;
int*a;
a =(int*)
malloc
(sizeof
(int
)*n)
;//生成陣列儲存活動是否被安排
for(
int i =
0; i < n; i++
)greedyselector
(n, s, f, a)
;return0;
}void
greedyselector
(int n,
int s,
int f,
int a)
} cout<<
"總計有"
<
"個活動被安排"
<
}
問題描述
有一批貨櫃要裝上一艘載重量為c的輪船.其中貨櫃i的重量為wi。最優裝載問題要求在裝載體積不受限制的情況下,將盡可能多的貨櫃裝上輪船。
#include
using
namespace std;
//氣泡排序
void
sort
(int
*weight,
int n)}}
}//裝載
void
loading
(int
*weight,
int*judge,
int c,
int n)
} cout<<
"裝載到輪船上的有"
<
for(
int j =
0; j < n; j++)}
cout<
cout<<
"總重量"
<
}int
main()
;//6個貨櫃的重量
sort
(weight,6)
;int judge[6]
=;//對是否裝載進行判斷,預設初始值為0
loading
(weight, judge, c,6)
;return0;
}
執行結果
問題描述
假設要在足夠多的會場裡安排一批活動,並希望使用盡可能少的會場。設計乙個有效的貪心演算法進行安排。實現**
#include
#define maxsize 100
#include
using
namespace std;
struct active
;void
bubblesort
(struct active sa,
int sum)}}
}void
greedy
(struct active sa,
int sum)
,degree,mintime =0;
bubblesort
(sa,sum)
;//按結束時間進行排序
degree =1;
//所需要的會場個數
alltime[0]
= sa[0]
.etime;
//第乙個會場花費的時間預設是第乙個活動的結束是啊金
for(i =
1;i < sum; i++)}
if(sa[i]
.stime < mintime)
else
} cout<<
"最少會場數為: "
<
}int
main()
greedy
(sa,sum)
;return0;
}
執行結果
問題描述
磁帶最優儲存問題要求確定n個程式在磁帶上的乙個儲存次序,使平均讀取時間達到最小。實現**
#include
#include
#define size 100
struct tap
a[size]
;void
sort
(float b,
int n)
;//進行排序的函式
float
greedy
(struct tap a,
int n)
;//進行貪心演算法的函式
intmain()
printf
("平均讀取時間最小為:%f"
,greedy
(a,n));
return0;
}void
sort
(float b,
int n)}}
}float
greedy
(struct tap a,
int n)
sort
(b,n)
;//按p*l由小到大排序
for(i =
0;i < n; i++
)return time/sum;
}
執行結果
參考文獻 《計算機演算法設計與分析(第四版)》 王曉東 編著
劇本第三部分
第三部分劇本 場景一 女生宿舍,a趴在桌子上睡覺,電腦螢幕亮著,是vs 但是就寫了一行 小碼趴在a的胳膊上睡著。突然,a醒了,發現自己上課要遲到了,a 哎呀,完了完了,大中午的怎麼趴在這睡著了 邊說話邊收拾書包 轉頭看向小碼 a 把你放哪呢 說話的時候四周環視 算了,跟我去吧,我先把你放書包裡 說話...
第三部分 效能
索引管理 效能優化 效能監控 db.c1.find explain 查詢的詳細資訊列出來 db.c1.getindexkyes 所有索引的字段 db.c1.getindexes 所有索引的相關資訊 2 唯一索引 只需要在ensureindex命令中提定 uniqure true 即可建立唯一索引,如...
sqlalchemy第三部分
1.復用。在我們用sqlalchemy運算元據庫時,有部分 可以重複使用,我們將這部分放到乙個模組中,後面使用就可以呼叫這個模組,匯入裡面的方法。python 1.連線資料庫 from sqlalchemy import create engine hostname 127.0.0.1 ip位址 p...