DS_EXPERIMENT_15[3]
DS_EXPERIMENT_15[3]
15
Title : Write a program to Implement graph traversals by applying DFS & BFs
DFS TRAVERSAL
#include <stdio.h>
#include <stdlib.h>
int vis[100];
// Adjacency matrix
struct Graph {
int V;
int E;
int** Adj;
};
malloc(sizeof(struct Graph));
return NULL;
G->V = 7;
G->E = 7;
G->Adj[u][v] = 0;
G->Adj[0][1] = G->Adj[1][0] = 1;
G->Adj[0][2] = G->Adj[2][0] = 1;
G->Adj[1][3] = G->Adj[3][1] = 1;
G->Adj[1][4] = G->Adj[4][1] = 1;
G->Adj[1][5] = G->Adj[5][1] = 1;
G->Adj[1][6] = G->Adj[6][1] = 1;
G->Adj[6][2] = G->Adj[2][6] = 1;
return G;
vis[u] = 1;
DFS(G, v);
}}
vis[i] = 0;
if (!vis[i]) {
DFS(G, i);
// Driver code
void main()
struct Graph* G;
G = adjMatrix();
DFStraversal(G);
}
BFS Traversal
// Java program to print BFS traversal from a given source vertex.
Import java.io.*;
Import java.util.*;
// representation
Class Graph
// Constructor
Graph(int v) {
V = v;
Adj[v].add(w);
// set as false)
Visited[s]=true;
Queue.add(s);
While (queue.size() != 0) {
S = queue.poll();
System.out.print(s+” “);
Iterator<Integer> I = adj[s].listIterator();
While (i.hasNext())
Int n = i.next();
If (!visited[n])
Visited[n] = true;
Queue.add(n);
// Driver method to
g.addEdge(0, 1);
g.addEdge(0, 2);
g.addEdge(1, 2);
g.addEdge(2, 0);
g.addEdge(2, 3);
g.addEdge(3, 3);
g.BFS(2); }}