Ex4 Adsa
Ex4 Adsa
#include <iostream>
#include <vector>
#include <queue>
#include <stack>
class GraphMatrix {
vector<vector<int>> adjMatrix;
int numVertices;
public:
GraphMatrix(int vertices);
private:
};
queue<int> q;
visited[start] = true;
q.push(start);
cout << "BFS starting from vertex " << start << ": ";
while (!q.empty()) {
q.pop();
visited[i] = true;
q.push(i);
cout << "DFS starting from vertex " << start << ": ";
DFSUtil(start, visited);
}
void GraphMatrix::DFSUtil(int vertex, vector<bool>& visited) {
visited[vertex] = true;
DFSUtil(i, visited);
int main() {
graph.addEdge(0, 1);
graph.addEdge(0, 4);
graph.addEdge(1, 2);
graph.addEdge(1, 3);
graph.addEdge(2, 3);
graph.addEdge(3, 4);
Output:
#include <iostream>
#include <vector>
#include <list>
#include <queue>
#include <stack>
#include <unordered_set>
class Graph {
private:
public:
// Constructor
adjList.resize(vertices);
}
// Add an edge to the graph
adjList[u].push_back(v);
// Breadth-First Traversal
vector<bool>visited(numVertices, false);
queue<int> q;
visited[start] = true;
q.push(start);
while (!q.empty()) {
q.pop();
if (!visited[neighbor]) {
visited[neighbor] = true;
q.push(neighbor);
cout<<endl;
}
// Depth-First Traversal
vector<bool>visited(numVertices, false);
stack<int> s;
s.push(start);
while (!s.empty()) {
s.pop();
if (!visited[node]) {
visited[node] = true;
if (!visited[*it]) {
s.push(*it);
cout<<endl;
};
int main() {
// Create a graph with 4 vertices (0, 1, 2, 3)
Graph g(4);
// Add edges
g.addEdge(0, 1);
g.addEdge(0, 2);
g.addEdge(1, 2);
g.addEdge(1, 3);
g.addEdge(2, 3);
g.breadthFirstTraversal(0);
g.depthFirstTraversal(0);
return 0;
Output: