永发信息网

c++判断图连通性

答案:1  悬赏:0  手机版
解决时间 2021-01-28 13:51
判断图的连通性的最优算法是什么啊,用c++怎么编码实现呢
最佳答案
#define NumberofVertices 20

struct Edge{
int dest;
struct Edge*link;
}

struct Vertex{
int data;
struct Edge* adj;
}

struct Vertex NodeTable[NumberofVertices];

int GetFirstNeighbor(int v)
{
if(v!=-1)
{
struct Edge* p=NodeTable[v].adj;
if(p)return p->dest;
}
return -1;
}

int GetNextNeighbor(int v,int w)
{
if(v!=-1)
{
struct Edge* p=NodeTable[v].adj;
while(p)
{
if(p->dest==w &&p->link)return p->link->dest;
else p=p->link;
}
}
return -1;
}

void DFS(int v,int visited[])
{
int w;
visited[v]=1;
w=GetFirstNeighbor(v);
while(w!=-1)
{
if(visited[w]==0)DFS(w,visited);
w=GetNextNeighbor(v,w);
}
}

int Isconect()
{
int i,x=0;
int n=NumberofVertices;
int* visited=(int*)malloc(sizeof(int)*n);
for(i=0;i<n;i++)visited[i]=0;
for(i=0;i<n;i++)
if(visited[i]==0)
{
DFS(i,visited);
x++;
}
free(visited);
if(x>1)
{printf("It is not connected!\n");return 1;}
else
printf("It is connected!\n");
return 0;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
花奈尔鲜花(新华北街店)地址在哪,我要去那里
春峰干洗织补中心地址有知道的么?有点事想过
上海树熊化工科技有限公司怎么样?
丽石鲜花(福春店)怎么去啊,我要去那办事
顺达干洗店(新和店)地址在什么地方,我要处理
世纪飞扬的数据线苹果5s为什么冲不了电
【负数是有理数吗】负数都是有理数吗?急...
风行牌炼乳可以当牛奶喝吗?
金猴辞旧迎八新
什么条件可以报考三支一扶
心脏病人可以生小孩吗拜托各位了 3Q
废残的意思是什么啊?知道的请说下!
这个怎么求电位,希望有计算步骤跟原理.第三题
兴和水洗店地址在什么地方,想过去办事
一家鲜花坊地址在什么地方,想过去办事
推荐资讯
プリント翻译成卷子好吗?
新形势下怎样当好农村领导干部
我是会计学硕,考了318,能过今年国家线吗,
从武昌火车站到湖北电视台坐什么车最方便?
葫芦岛爱尚主题宾馆地址有知道的么?有点事想
非诚勿扰里后来舒淇要去跳海前独白的那些台词
抹脸的叫什么
led显示屏前倾下斜怎么做
pt2nomx结肠癌什么程度
佳慧美颜地址在什么地方,我要处理点事
戴家湾我想知道这个在什么地方
谁知道中国发射的卫星都叫啥名
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?