#include <iostream>
using namespace std;
#define N 11
int s[N + 1] = { 0,1,3,0,5,3,5,6,8,8,2,12 };
int f[N + 1] = { 0,4,5,6,7,8,9,10,11,12,13,14 };
//递归实现
void Recursive_Activity_Selector(int s[], int f[], int i, int n)
{
int m = i + 1;
while (m <= n && s[m] < f[i])
m = m + 1;
if (m <= n)
{
cout << "资源分配给任务" << m << endl;
Recursive_Activity_Selector(s, f, m, n);
}
}
//贪心算法
void greeedy_a_s(int s[], int f[])
{
int left = 1;
int right;
cout << "分配给任务1" << endl;
for (right = 2; right <= N; right++)
{
if (s[right] >= f[left])
{
cout << "分配给任务"<<right << endl;
left = right;
}
}
}
void main()
{
Recursive_Activity_Selector(s, f, 0, N);
cout << endl;
greeedy_a_s(s, f);
}
贪心算法——活动分配
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。