欢迎来到天天文库
浏览记录
ID:39641763
大小:46.00 KB
页数:6页
时间:2019-07-08
《求最小覆盖繁版c++程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、#includeusingnamespacestd;#include/************************描述依赖的结构体***************************/structFD{stringforeward;stringbackward;};/************************求最小覆盖有关的函数***********************/voidinput(FDfd[]){stringa,b;cout<<"请您输入依赖关系:"<2、+){cin>>a>>b;fd[i].backward=b;fd[i].foreward=a;cout<"<"<3、]==res1[p])count++;}if(count==fw.size())returntrue;elsereturnfalse;}stringjoin(stringres1,stringbw){intcount=0;for(intk=0;k4、(stringx1,FDfd[],stringres)//求X在某个R上的闭包{res=x1;inti=0;stringoldres;do{oldres=res;for(i;i<5;i++){if(in(fd[i].foreward,res))res=join(res,fd[i].backward);}i=0;}while(oldres!=res);returnres;}FD*zuoquchong(FDfd[])//使依赖关系右侧属性单一{staticFDfd1[10];intcount=0;for(inti=0;i<6;i++){for(inti1=0;i5、1A};{staticFDfdg[10];intcount=0;for(inti=0;i<10;i++){if(i!=i1){fdg[count].foreward=fd1[i].foreward;fdg[count].backward=fd1[i].ba6、ckward;count++;}}returnfdg;}FD*quchongFD(FDfd[])//去掉冗余的FD;{staticFDfd2[10];for(intj=0;j<10;j++){fd2[j].foreward=fd[j].foreward;fd2[j].backward=fd[j].backward;}stringre,re1;intcount=0;for(inti=0;i<10;i++){re1=closure(fd2[count].foreward,GFD(fd2,count),re);if(in(fd2[count].backward,r7、e1)){for(intp=0;p<10;p++){fd2[p].backward=GFD(fd2,count)[p].backward;fd2[p].foreward=GFD(fd2,count)[p].foreward;}}elsecount++;}returnfd2;}stringdeterminant(stringresd,intkey)//求X-Bi;{for(intp=key;p8、aticFDfd3[10];stringre,re1
2、+){cin>>a>>b;fd[i].backward=b;fd[i].foreward=a;cout<"<"<3、]==res1[p])count++;}if(count==fw.size())returntrue;elsereturnfalse;}stringjoin(stringres1,stringbw){intcount=0;for(intk=0;k4、(stringx1,FDfd[],stringres)//求X在某个R上的闭包{res=x1;inti=0;stringoldres;do{oldres=res;for(i;i<5;i++){if(in(fd[i].foreward,res))res=join(res,fd[i].backward);}i=0;}while(oldres!=res);returnres;}FD*zuoquchong(FDfd[])//使依赖关系右侧属性单一{staticFDfd1[10];intcount=0;for(inti=0;i<6;i++){for(inti1=0;i5、1A};{staticFDfdg[10];intcount=0;for(inti=0;i<10;i++){if(i!=i1){fdg[count].foreward=fd1[i].foreward;fdg[count].backward=fd1[i].ba6、ckward;count++;}}returnfdg;}FD*quchongFD(FDfd[])//去掉冗余的FD;{staticFDfd2[10];for(intj=0;j<10;j++){fd2[j].foreward=fd[j].foreward;fd2[j].backward=fd[j].backward;}stringre,re1;intcount=0;for(inti=0;i<10;i++){re1=closure(fd2[count].foreward,GFD(fd2,count),re);if(in(fd2[count].backward,r7、e1)){for(intp=0;p<10;p++){fd2[p].backward=GFD(fd2,count)[p].backward;fd2[p].foreward=GFD(fd2,count)[p].foreward;}}elsecount++;}returnfd2;}stringdeterminant(stringresd,intkey)//求X-Bi;{for(intp=key;p8、aticFDfd3[10];stringre,re1
3、]==res1[p])count++;}if(count==fw.size())returntrue;elsereturnfalse;}stringjoin(stringres1,stringbw){intcount=0;for(intk=0;k4、(stringx1,FDfd[],stringres)//求X在某个R上的闭包{res=x1;inti=0;stringoldres;do{oldres=res;for(i;i<5;i++){if(in(fd[i].foreward,res))res=join(res,fd[i].backward);}i=0;}while(oldres!=res);returnres;}FD*zuoquchong(FDfd[])//使依赖关系右侧属性单一{staticFDfd1[10];intcount=0;for(inti=0;i<6;i++){for(inti1=0;i5、1A};{staticFDfdg[10];intcount=0;for(inti=0;i<10;i++){if(i!=i1){fdg[count].foreward=fd1[i].foreward;fdg[count].backward=fd1[i].ba6、ckward;count++;}}returnfdg;}FD*quchongFD(FDfd[])//去掉冗余的FD;{staticFDfd2[10];for(intj=0;j<10;j++){fd2[j].foreward=fd[j].foreward;fd2[j].backward=fd[j].backward;}stringre,re1;intcount=0;for(inti=0;i<10;i++){re1=closure(fd2[count].foreward,GFD(fd2,count),re);if(in(fd2[count].backward,r7、e1)){for(intp=0;p<10;p++){fd2[p].backward=GFD(fd2,count)[p].backward;fd2[p].foreward=GFD(fd2,count)[p].foreward;}}elsecount++;}returnfd2;}stringdeterminant(stringresd,intkey)//求X-Bi;{for(intp=key;p8、aticFDfd3[10];stringre,re1
4、(stringx1,FDfd[],stringres)//求X在某个R上的闭包{res=x1;inti=0;stringoldres;do{oldres=res;for(i;i<5;i++){if(in(fd[i].foreward,res))res=join(res,fd[i].backward);}i=0;}while(oldres!=res);returnres;}FD*zuoquchong(FDfd[])//使依赖关系右侧属性单一{staticFDfd1[10];intcount=0;for(inti=0;i<6;i++){for(inti1=0;i
5、1A};{staticFDfdg[10];intcount=0;for(inti=0;i<10;i++){if(i!=i1){fdg[count].foreward=fd1[i].foreward;fdg[count].backward=fd1[i].ba
6、ckward;count++;}}returnfdg;}FD*quchongFD(FDfd[])//去掉冗余的FD;{staticFDfd2[10];for(intj=0;j<10;j++){fd2[j].foreward=fd[j].foreward;fd2[j].backward=fd[j].backward;}stringre,re1;intcount=0;for(inti=0;i<10;i++){re1=closure(fd2[count].foreward,GFD(fd2,count),re);if(in(fd2[count].backward,r
7、e1)){for(intp=0;p<10;p++){fd2[p].backward=GFD(fd2,count)[p].backward;fd2[p].foreward=GFD(fd2,count)[p].foreward;}}elsecount++;}returnfd2;}stringdeterminant(stringresd,intkey)//求X-Bi;{for(intp=key;p8、aticFDfd3[10];stringre,re1
8、aticFDfd3[10];stringre,re1
此文档下载收益归作者所有