91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 3.15MB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2023-10-12
  • 語言: 其他
  • 標簽:

資源簡介

問題描述 圖G=(V,E)的一個團是圖G的一個完全子圖,即該子圖中任意兩個相異的頂點都有一條邊相連。最大團問題就是要找出圖G中頂點數最多的一個團。 基本要求 (1) 用回溯法來求解最大團問題。 (2) 用分支限界法來求解最大團問題。 測試數據 由讀者給定若干連通圖。 實現提示 本課程設計的實現主要包括以下主要過程: (1) 關于解的編碼形式(對應頂點i 的變量x[i]=1當且僅當頂點i屬于找到的最大團)。 (2) 設計合適的上界函數,即如何確定當前團最大頂點數的上界。

資源截圖

代碼片段和文件信息

#?include?
#?include?
#?include?
#?include?
using?namespace?std;

typedef?struct{
int?v;
int?e;
int?a[50][50];??//定義圖
int?bestx[50];??//最優解
}MGraph;

void?Creat(MGraph?&G){
????int?ij;
ifstream?fin(“data.txt“);
if(!fin)
{
cout<<“不能打開文件:“<<“data.txt“< exit(1);
}
fin>>G.v;
for(int?i=1;i<=G.v;i++)
for(int?j=1;j<=G.v;j++)
fin>>G.a[i][j];
????for(i=1;i<=G.v;i++)???//初始化
????{
????G.bestx[i]=0;
}
????cout<<“輸入初始化無向圖矩陣為:“<????for(i=1;i<=G.v;i++)
????{
????????for(j=1;j<=G.v;j++)
????????????cout<????????cout<????}
}

struct?BNode????
{??????????????
?BNode?*parent;
?bool?LChild;
};

struct?CliqueNode??//定義優先隊列類型為CliqueNode
{
?int?csuslevel;??//分別是當前團頂點數,最大頂點上界,和所在的層次
?BNode?*p;?????????//記錄該點的情況是左孩子還是右孩子,父母是誰?
?bool?operator<(const?CliqueNode&?b)?const??//<號重載建立大根堆
?{?
??if(b.us>us)??return?true;
??if(b.us==us&&b.cs>cs)?return?true;
??else?return?false;
?}
};

void?Search(MGraph?&G)
{
?
?BNode?*B=new(BNode);??//定義B代表記錄的隊列情況
?int?ji=1;
?int?cs=0bestn=0;?
?int?flag=1;??
?priority_queue?Q;??//定義優先隊列Q
?B->LChild=false;??//初始化
?B->parent=NULL;
?while(i!=G.v+1)
?{
??flag=1;
??BNode?*C=B;??//把當前點的數據給C,C為中間變量
??for(j=i-1;j>0;C=C->parentj--)
??if(C->LChild&&G.a[i][j]==0)??//如果不滿足就停止
??{
???flag=0;
???break;
??}
??if(flag)?//滿足條件
??{
???CliqueNode?*D=new(CliqueNode);??//定義一個節點D
???D->p=new(BNode);
???if(cs+1>bestn)bestn=cs+1;
???D->cs=cs+1;?
???D->level=i+1;
??????D->p->LChild=true;
????????????D->p->parent=B;
???D->us=cs+1+G.v-i;
???Q.push(*D);??//進隊列
??}
??if(cs+G.v-i>bestn?)??//不滿足條件但是還是可能有最優解
??{
???CliqueNode?*D=new(CliqueNode);??//定義一個節點D
???D->p=new(BNode);
????????????D->cs=cs;??
???D->level=i+1;
???D->p->LChild=false;
????????????D->p->parent=B;
???D->us=cs+G.v-i;
???Q.push(*D);??//進隊列
??}
?
??CliqueNode?N;
??N=Q.top();???//取隊頂元素,最大堆
??Q.pop();???????//刪除隊頂元素
??B=N.p;????????//記錄當前團的信息
??cs=N.cs;??????//記錄當前團的頂點數
??i=N.level;????//所在的層次
?}
?for(j=G.v;j>0;j--)??//保存最優解
?{
??G.bestx[j]=B->LChild;
??B=B->parent;
??bestn=cs;
?}
}
void?main(){
????????MGraph?G;
????????Creat(G);
????????Search(G);
cout<<“最大團方案為:“<????????for(int?i=G.v;i>0;i--)
???????????if(G.bestx[i]==true){
?????????????????????????cout<?????????????}
cout<getch();
}

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件??????39424??2010-07-15?14:39??實驗設計-MCP(回溯法)\Debug\實驗設計-MCP(回溯法).exe

?????文件?????387420??2010-07-15?14:39??實驗設計-MCP(回溯法)\Debug\實驗設計-MCP(回溯法).ilk

?????文件?????543744??2010-07-15?14:39??實驗設計-MCP(回溯法)\Debug\實驗設計-MCP(回溯法).pdb

?????文件??????25069??2010-07-14?21:03??實驗設計-MCP(回溯法)\實驗設計-MCP(回溯法)\data.png

?????文件?????????58??2010-07-14?19:43??實驗設計-MCP(回溯法)\實驗設計-MCP(回溯法)\data.txt

?????文件?????????56??2010-07-14?20:42??實驗設計-MCP(回溯法)\實驗設計-MCP(回溯法)\data2.txt

?????文件???????7422??2010-07-15?14:39??實驗設計-MCP(回溯法)\實驗設計-MCP(回溯法)\Debug\BuildLog.htm

?????文件??????46304??2010-07-15?14:39??實驗設計-MCP(回溯法)\實驗設計-MCP(回溯法)\Debug\MCP(回溯法).obj

?????文件?????????67??2010-07-15?14:39??實驗設計-MCP(回溯法)\實驗設計-MCP(回溯法)\Debug\mt.dep

?????文件?????306176??2010-07-15?14:39??實驗設計-MCP(回溯法)\實驗設計-MCP(回溯法)\Debug\vc90.idb

?????文件?????225280??2010-07-15?14:39??實驗設計-MCP(回溯法)\實驗設計-MCP(回溯法)\Debug\vc90.pdb

?????文件????????621??2010-07-15?14:39??實驗設計-MCP(回溯法)\實驗設計-MCP(回溯法)\Debug\實驗設計-MCP(回溯法).exe.intermediate.manifest

?????文件???????1680??2010-07-15?14:39??實驗設計-MCP(回溯法)\實驗設計-MCP(回溯法)\MCP(回溯法).cpp

?????文件???????3791??2010-07-15?11:47??實驗設計-MCP(回溯法)\實驗設計-MCP(回溯法)\實驗設計-MCP(回溯法).vcproj

?????文件???????1413??2010-07-15?15:04??實驗設計-MCP(回溯法)\實驗設計-MCP(回溯法)\實驗設計-MCP(回溯法).vcproj.E305-115.user.user

?????文件???????1413??2010-07-15?11:48??實驗設計-MCP(回溯法)\實驗設計-MCP(回溯法)\實驗設計-MCP(回溯法).vcproj.Moese-Wi.Moese.user

?????文件?????592896??2010-07-15?15:26??實驗設計-MCP(回溯法)\實驗設計-MCP(回溯法).ncb

?????文件????????947??2010-07-14?19:22??實驗設計-MCP(回溯法)\實驗設計-MCP(回溯法).sln

????..A..H.?????15360??2010-07-15?15:04??實驗設計-MCP(回溯法)\實驗設計-MCP(回溯法).suo

?????文件??????79360??2010-07-15?14:37??實驗設計-MCP(分支限界法)\Debug\實驗設計-MCP(分支限界法).exe

?????文件?????500708??2010-07-15?14:37??實驗設計-MCP(分支限界法)\Debug\實驗設計-MCP(分支限界法).ilk

?????文件?????699392??2010-07-15?14:37??實驗設計-MCP(分支限界法)\Debug\實驗設計-MCP(分支限界法).pdb

?????文件?????????58??2010-07-14?19:43??實驗設計-MCP(分支限界法)\實驗設計-MCP(分支限界法)\data.txt

?????文件?????????56??2010-07-14?20:42??實驗設計-MCP(分支限界法)\實驗設計-MCP(分支限界法)\data2.txt

?????文件???????7836??2010-07-15?14:37??實驗設計-MCP(分支限界法)\實驗設計-MCP(分支限界法)\Debug\BuildLog.htm

?????文件?????262936??2010-07-15?14:37??實驗設計-MCP(分支限界法)\實驗設計-MCP(分支限界法)\Debug\MCP(分支限界法).obj

?????文件?????????67??2010-07-15?14:37??實驗設計-MCP(分支限界法)\實驗設計-MCP(分支限界法)\Debug\mt.dep

?????文件?????338944??2010-07-15?14:37??實驗設計-MCP(分支限界法)\實驗設計-MCP(分支限界法)\Debug\vc90.idb

?????文件?????258048??2010-07-15?14:37??實驗設計-MCP(分支限界法)\實驗設計-MCP(分支限界法)\Debug\vc90.pdb

?????文件????????621??2010-07-15?14:37??實驗設計-MCP(分支限界法)\實驗設計-MCP(分支限界法)\Debug\實驗設計-MCP(分支限界法).exe.intermediate.manifest

............此處省略66個文件信息

評論

共有 條評論