最大團問題

2021-07-06 00:06:49 字數 921 閱讀 3262

#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...