资源简介
最大团问题代码实现 简单易懂 适合算法学习
代码片段和文件信息
#include
#include
#include
typedef struct
{
int maxlen;//对应各个顶点最大团的顶点个数
int ar[6][10];//最大团方案
int num;//各顶点的所有团的个数
}Arr;
void Turn(Arr m[20]int a1[20][20]int a2[20][20]int iint vertex)//将无向图矩阵转化为三维数组形式寻找所有最大团
{
int jk(1)temlen(1)m1m2;
int flag=1;
m[i].maxlen=0;
for(j=1;j<=vertex-1;j++)
if(a1[a2[i][0]][a2[i][j]]!=1)
a2[i][j]=0; //更新相邻顶点矩阵数组
for(j=1;j for(k=j+1;k<=vertex-1;k++)
if(a1[a2[i][j]][a2[i][k]]!=1)
{
flag=0;
m1=j;
m2=k;
break;
}//判断是否为此顶点的团
if(flag)
{
m[i].num++;
for(j=1;j<=vertex-1;j++)
{
m[i].ar[m[i].num][j]=a2[i][j];
if(a2[i][j]!=0)
a1[a2[i][j]][i]=0;
if(a2[i][j])
len++;
}
if(m[i].maxlen {
m[i].maxlen=len;
len=0;
}
}
else //递归调用回溯寻找最大团
{
tem=a2[i][m1];
a2[i][m1]=0;
Turn(ma1a2ivertex);
a2[i][m1]=tem;
tem=a2[i][m2];
a2[i][m2]=0;
Turn(ma1a2ivertex);
a2[i][m2]=tem;
}
}
void Output(Arr m[20]int a1[20][20]int a2[20][20]int maxint vertex)//
相关资源
- 图:FLoyd算法
- aes算法实现C++)
- vigenere密码加密解密算法实现软件Vc
- AGC的算法DSP上的
- rc4加密解密算法
- 多边形拓扑关系算法C++程序
- 图像Susan角点检测算法代码非常稳健的
- Vigenere算法c语言的简单实现
- 数据压缩LZW算法源代码
- A*算法解迷宫
- 实用Fourier变换及C++实现
- mpu9250驱动C语言源码 磁力计校准算法
- C语言实现A*算法解决传教士和野人渡
- aes加密算法matlab
- C语言实现F算法 最短路径算法
- C++ MongoDB 连接池代码实现
- 动态分区分配四种算法
- D算法的C++实现
- 算术表达式C算法输入:一个算术表达
- 完全Bresenham算法生成椭圆
- c语言实现 FCFS和SJF调度算法
- 克鲁斯卡尔最小生成树算法
- 作业调度算法c语言版
- C语言中的无穷积分算法,很好用的,
- 利用VC++实现Sutherland-Hodgman算法多边形
- 银行家算法-----一个n个并发进程共享
- 设计一个测试程序比较几种内部排序
- 五层电梯算法动态演示-C语言开发
- 祖冲之算法
- 时间片轮转、抢占式短进程优先算法
评论
共有 条评论