ADS Assignment 9
ADS Assignment 9
Div: CS-C
Roll No-50
PRN-12310385
ADS assignment 9:
#include <stdio.h>
#include <stdlib.h>
struct GraphMatrix {
int vertices;
int adj[MAX_VERTICES][MAX_VERTICES];
};
struct Node {
int vertex;
};
struct GraphList {
int vertices;
};
// Function to create a graph using Adjacency Matrix
graph->vertices = vertices;
return graph;
visited[vertex] = 1;
DFSMatrix(graph, i, visited);
}
// Function to create a graph using Adjacency List
graph->vertices = vertices;
return graph;
newNode->vertex = dest;
newNode->next = graph->adj[src];
graph->adj[src] = newNode;
newNode->vertex = src;
newNode->next = graph->adj[dest];
graph->adj[dest] = newNode;
visited[vertex] = 1;
while (temp) {
if (!visited[temp->vertex]) {
temp = temp->next;
visited[start] = 1;
queue[rear++] = start;
while (temp) {
if (!visited[temp->vertex]) {
visited[temp->vertex] = 1;
queue[rear++] = temp->vertex;
temp = temp->next;
}
int main() {
int vertices = 5;
// Adjacency Matrix
addEdgeMatrix(graphMatrix, 0, 1);
addEdgeMatrix(graphMatrix, 0, 4);
addEdgeMatrix(graphMatrix, 1, 2);
addEdgeMatrix(graphMatrix, 1, 3);
addEdgeMatrix(graphMatrix, 1, 4);
addEdgeMatrix(graphMatrix, 2, 3);
addEdgeMatrix(graphMatrix, 3, 4);
DFSMatrix(graphMatrix, 0, visitedMatrix);
printf("\n");
// Adjacency List
addEdgeList(graphList, 0, 1);
addEdgeList(graphList, 0, 4);
addEdgeList(graphList, 1, 2);
addEdgeList(graphList, 1, 3);
addEdgeList(graphList, 1, 4);
addEdgeList(graphList, 2, 3);
addEdgeList(graphList, 3, 4);
DFSList(graphList, 0, visitedList);
printf("\n");
BFSList(graphList, 0);
printf("\n");
return 0;