Untitled
unknown
plain_text
7 months ago
822 B
1
Indexable
Never
#include <stdio.h> #define MAX_NODES 100 int graph[MAX_NODES][MAX_NODES]; int visited[MAX_NODES]; int n; void dfs(int node) { int i; visited[node] = 1; printf("%d ", node + 1); for (i = 0; i < n; i++) { if (graph[node][i] && !visited[i]) { dfs(i); } } } int main() { int m, i, u, v, start; printf("Enter the number of nodes in the graph: "); scanf("%d", &n); printf("Enter the number of edges in the graph: "); scanf("%d", &m); for (i = 0; i < m; i++) { printf("Enter the start and end nodes of edge %d: ", i + 1); scanf("%d%d", &u, &v); graph[u - 1][v - 1] = 1; graph[v - 1][u - 1] = 1; } printf("Enter the start node for DFS traversal: "); scanf("%d", &start); dfs(start - 1); return 0; }