首页 > 解决方案 > 深度优先搜索(邻接矩阵)找到父级

问题描述

如何编辑我的代码以便它也打印每个顶点的父级?目前正在编写一个C 程序来实现基于深度优先搜索的算法,以测试给定网络的连通性。

输入:

输出:


#include<stdio.h>

void DFS(int);
int G[10][10],visited[10],V;    //V is no of vertices and graph is sorted in array G[10][10]
int component=0;

void main()
{
    int i,j;
    printf("Enter number of vertices:");

    scanf("%d",&V);

    //read the adjecency matrix
    printf("\nEnter adjecency matrix of the graph:");
    printf("\n");

    for(i=0;i<V;i++)
       for(j=0;j<V;j++)
            scanf("%d",&G[i][j]);

    //visited is initialized to zero
   for(i=0;i<V;i++){
        visited[i]=0;

    DFS(0);
   }
   for(i=0;i<V;i++){
        if(visited[i]==0){
            component++;
        }
   }
   printf("\nNumber of components is: %d",component);

}

void DFS(int i)
{
    int j;
    printf("\n%d",i);
    visited[i]=1;

    for(j=0;j<V;j++)
       if(!visited[j]&&G[i][j]==1)
            DFS(j);
}

标签: c

解决方案


推荐阅读