摘要:优先调度中,优先级为100-needtime,没执行一次,优先级将5轮转调度的时间片为2View Code #include<iostream>using namespace std;#include "string.h"typedef struct node{ char name[10]; //进程的名称 int prio; //进程的优先级 int round; //CPU的时间片 int cputime; //进程占用CPU时间 int needtime; //进程到完成还要的时间* int count; //计数器 char state; //...
阅读全文
11 2012 档案
摘要:View Code #include<iostream>using namespace std;#define N 100int x[N];//x[i]存储当前i节点的颜色种类 int a[N][N];//存储各个顶点之间的连接情况 int sum=0;//记录有多少种涂色方案 bool OK(int k,int n){ for(int j=1;j<=n;j++) if(a[k][j]==1&&x[j]==x[k])//如果找到一个与预想把K节点涂色为x[k]的相连节点,且该节点也涂色为x[k],则涂色失败 return false; retu...
阅读全文
摘要:View Code #include<iostream>using namespace std;const int n=4;//如果没const,传参将失败 void fv(int (&f)[n][n]){//也可以直接 //或者 ,最主要是让二维数组的长度固定,如果不固定,编译器将无法肯定的确定传给函数的二维数组到底有多长 //void fv(int f[n][n]){ for(int i=0;i<4;i++) for(int j=0;j<4;j++) cout<<f[i][j]<<endl;}int main(){ int f[n][
阅读全文
摘要:View Code #include<iostream>using namespace std;struct Object{ float w; float v; float w_v; int order; //物品的序号 float x;//是否放入背包,整个放入是1,一部分放入是放入的部分与总的比值,没放入为0 };Object object[100];int compare( const void *a , const void *b ) { Object *aa=(Object *)a; Object *bb=(Object...
阅读全文
摘要:View Code #include<iostream>using namespace std;#define max 100 float d[max];//m台机器的空闲时间存储在d[m]中int s[max][max];//把第j个作业放到第i太机器上去运行 typedef struct homework{//数据结构来存储作业信息 int ID; float time; }hw;typedef struct m{//快结构体的因为是把在改机器的作业存起来 int number;//记录存储在改机器的作业个数 int ma[max]; float time...
阅读全文
摘要:View Code #include<iostream>using namespace std;#define maxn 100int huffTreeN;//树中的节点个数初始化为nint i1=1,i2=2;struct element{//存储字符 double weight;//字符出现的概率为实数,次程序为了简便,不计算其概率,而直接用其出现的次数代替 int lchild;//该节点的左孩子在huffTree[]数组中的下标 int rchild;//该节点的右孩子在huffTree[]数组中的下标 int parent; //该节点的双亲节点在hu...
阅读全文
摘要:Prim算法设G=(V,E)是连通图,V={1,2,......,n}构造G的最小生成树的Prim算法的基本思想是:首先置S={1},然后,只要S是V的真子集,就坐如下的贪心选择:选取满足条件i属于S,j属于V-S,且c[i][j]最小边,并将顶点j添加到S中。这个过程一直进行到S=V时为止View Code #include<iostream>using namespace std;#define max 100float c[max][max];//存放i,j的权值float lowcost[max];//lowcost[v]存放未放入生成树的一个顶点v到生成树所有顶点的最短边
阅读全文
摘要:Kruskal算法1.首先将G的n个顶点看成n个孤立的连通分支,将所有的边按权从小到大排序e1,e2,e3...em2.从第一条边开始,依边权递增的顺序查看每一条边,并按下述方法连接两个不同的两同分支3.当查看到第K条边ek=(v,w)时,若v,w分别在两个不同而连通分支T1和T2中,用边(v,w)将T1,T2连接成一个连通分支,然后继续查看k+1条边 若v和w在当前的同一个连通分支中,就直接查看第k+1条边(既构成圈,就放弃ek) 这个过程一直进行到之剩下一个连通分支时为止。此时,这个连通分支就是G的一颗最小生成树了View Code #include<iostream>usin
阅读全文

浙公网安备 33010602011771号