Skip to content

Commit

Permalink
Create dfs.c
Browse files Browse the repository at this point in the history
  • Loading branch information
subin-shk authored Oct 31, 2024
1 parent a3fac8b commit 47a238c
Showing 1 changed file with 34 additions and 0 deletions.
34 changes: 34 additions & 0 deletions C/dfs.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
#include <stdio.h>

#define MAX 100

// Function to perform DFS
void dfs(int graph[MAX][MAX], int visited[], int node, int n) {
visited[node] = 1; // Mark the current node as visited
printf("%d ", node); // Process the current node

// Recur for all the vertices adjacent to this vertex
for (int i = 0; i < n; i++) {
if (graph[node][i] == 1 && !visited[i]) { // If there's an edge and it's not visited
dfs(graph, visited, i, n);
}
}
}

int main() {
int graph[MAX][MAX] = {
{0, 1, 1, 0, 0},
{1, 0, 0, 1, 0},
{1, 0, 0, 0, 1},
{0, 1, 0, 0, 1},
{0, 0, 1, 1, 0}
};

int visited[MAX] = {0}; // Visited array
int n = 5; // Number of vertices

printf("DFS Traversal starting from vertex 0:\n");
dfs(graph, visited, 0, n);

return 0;
}

0 comments on commit 47a238c

Please sign in to comment.