基础算法
yutian74
这个作者很懒,什么都没留下…
展开
-
贪心算法——排队打水问题
*/6.3 排队打水问题:有n个人排队到r个水龙头去打水,他们装满水桶的时间为t1,t2,…,tn为正整数且个不相等。应如何安排他们打水顺序才能使他们花费的时间最少。算法分析:时间总和=等待时间+装水时间。采用贪心思想。先sort(),默认将装水时间从小到大排序。n个人,r个水龙头,可以以水龙头为序将队伍序分割成n/r个小组,每小组的成员分别对应r个位置。实际上就是将人依序分成r个小队打水...原创 2019-04-29 16:36:20 · 5942 阅读 · 1 评论 -
分治算法——快速排序
#includeusing namespace std;void qsort(int,int);int a[100];void qsort(int l,int r) //自定义快速排序程序{int i,j,mid,p;i=l;j=r;mid=(l+r)/2; //当前序列的中间位置的数为中间数do{while(a[i]<a[mid]) i++; //在左半部分寻找...原创 2019-04-29 16:50:07 · 530 阅读 · 0 评论 -
深度优先搜索——搜索与回溯,从n个数中取出r个数的排列
#include<cstdio>#include<iostream>#include<iomanip>using namespace std;int num=0,a[10001]={0},n,r;bool b[10001]={0};int search(int);int print();int main() //从N个数中取出R个数的排列 {...转载 2019-04-29 17:05:48 · 456 阅读 · 0 评论 -
深度优先搜索——从n个数中取出r个数的组合
//5.2.2#include<cstdio>#include<iostream>#include<iomanip>using namespace std;int num=0,a[10001]={0},n,r;bool b[10001]={0};int search(int,int);int print();int main() //从N个数...原创 2019-04-29 17:07:47 · 554 阅读 · 0 评论 -
深度优先搜索——搜索与回溯,素数环1-10个数摆成一个环,要求相邻两个数的和是一个素数
5.1#include<cstdio>#include<iostream>#include<cstdlib>#include<cmath>using namespace std;bool b[21]={0};int total=0,a[21]={0};int search(int);int print();bool pd(int,...转载 2019-04-29 17:10:36 · 1793 阅读 · 0 评论