#include "cstdio"
#include "queue"
#include "cstring"
#define max 20
using
namespace
std;
int n; //城市數量
int x[max]; //解向量
struct node
};priority_queuepq;
void enqueue(int cn, int un, int level)
int maxclique(int a[6][6])
if(ok) //搜尋左子樹
if(cn+n-i>=bestn) //如果可能產生最優值,搜尋右子樹
//取下一層擴充套件結點
node = pq.top();
pq.pop();
cn = node.cn;
i = node.level;
}return bestn;
}int main()
, ,,,
,};printf("鄰接矩陣為:\n");
int i, j;
for(i=1; i<=n; i++)
int bestn = maxclique(a);
printf("最大團頂點數:%d\n", bestn);
printf("解向量之一為:\n");
for(i=1; i<=n; i++)
printf("%d ", x[i]);
printf("\n");
return
0;}
最大團問題
最大團問題 首先介紹一些基本概念 1 什麼是團?如果乙個子圖是乙個無向圖的完全子圖,那麼可以稱為乙個團。2 什麼是極大團?如果乙個團不是任何乙個團的子集,那麼可以稱做乙個極大團。3 如果乙個極大團的大小是最大的,那麼可以被稱為乙個最大團。最大團有以下常見性質,這裡不加證明的直接給出結論。最大團點的數...
最大團問題
題目 給定乙個圖的鄰接矩陣,求出該圖的所有最大團。最大完全子圖 1.自己思考的樸素演算法 1 根據題意畫出解空間樹 只以以1結點開始為例,其餘以其他結點開始的同下述方法 下圖中綠色結點為進入遞迴,紅色結點為不進入遞迴 從圖中發現,一種想法是按深度遍歷解集。關鍵問題就是如何設定遞迴的出口和去重。2 演...
最大團,極大團
團 對於給定圖g v,e 其中,v 是圖g的頂點集,e是圖g的邊集。圖g的團就是乙個兩兩之間有邊的頂點集合。簡單地說,團是g的乙個完全子圖。如果乙個團不被其他任一團所包含,即它不是其他任一團的真子集,則稱該團為圖g的極大團 maximal clique 頂點最多的極大團,稱之為圖g的最大團 maxi...