Graph Algorithms Assignment: DFS, BFS, Topological Sort Implementation

Verified

Added on  2019/09/30

|6
|1006
|482
Practical Assignment
AI Summary
This assignment showcases the implementation of fundamental graph algorithms. The solution begins by taking user input to define the graph's vertices and edges. It then provides a menu-driven interface allowing the user to perform Depth-First Search (DFS), Topological Sort, and Breadth-First Search (BFS) on the constructed graph. The output demonstrates the traversal order for DFS and BFS, and the topological ordering of the vertices. The solution includes multiple test cases for DFS and BFS from different starting vertices, demonstrating the algorithms' flexibility. The program concludes with a copy constructor and an exit option, providing a comprehensive demonstration of graph algorithm implementations.
Document Page
Input run
7
y
0
1
y
0
3
y
1
2
y
1
4
y
3
4
y
4
5
y
4
2
y
6
3
n
1
0
2
1
3
1
4
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
1
5
2
3
0
3
1
3
3
3
4
4
for above input, output should be:
Enter the number of vertices: 7
Do you want to enter any edge in the graph? (Y or N): y
Enter first vertex v1: 0
Enter second vertex v2: 1
Do you want to enter any edge in the graph? (Y or N): y
Enter first vertex v1: 0
Enter second vertex v2: 3
Do you want to enter any edge in the graph? (Y or N): y
Enter first vertex v1: 1
Enter second vertex v2: 2
Do you want to enter any edge in the graph? (Y or N): y
Enter first vertex v1: 1
Enter second vertex v2: 4
Do you want to enter any edge in the graph? (Y or N): y
Enter first vertex v1: 3
Enter second vertex v2: 4
Do you want to enter any edge in the graph? (Y or N): y
Enter first vertex v1: 4
Enter second vertex v2: 5
Do you want to enter any edge in the graph? (Y or N): y
Enter first vertex v1: 4
Enter second vertex v2: 2
Do you want to enter any edge in the graph? (Y or N): y
Enter first vertex v1: 6
Enter second vertex v2: 3
Document Page
Do you want to enter any edge in the graph? (Y or N): n
Menu:
1. Depth First Search (DFS)
2. Topological Sort
3. Breadth First Search (BFS)
4. Exit
Enter your choice: 1
Enter the starting vertex: 0
DFS:
Vertex visited: 2
Vertex visited: 5
Vertex visited: 4
Vertex visited: 3
Vertex visited: 1
Vertex visited: 0
Vertex visited: 6
Menu:
1. Depth First Search (DFS)
2. Topological Sort
3. Breadth First Search (BFS)
4. Exit
Enter your choice: 2
DFS:
Vertex visited: 2
Vertex visited: 5
Vertex visited: 4
Vertex visited: 3
Vertex visited: 1
Vertex visited: 0
Vertex visited: 6
Topological Sort: 6 0 1 3 4 5 2
Menu:
1. Depth First Search (DFS)
2. Topological Sort
3. Breadth First Search (BFS)
4. Exit
Enter your choice: 1
Enter the starting vertex: 3
DFS:
Document Page
Vertex visited: 2
Vertex visited: 5
Vertex visited: 4
Vertex visited: 3
Vertex visited: 6
Vertex visited: 1
Vertex visited: 0
Menu:
1. Depth First Search (DFS)
2. Topological Sort
3. Breadth First Search (BFS)
4. Exit
Enter your choice: 1
Enter the starting vertex: 4
DFS:
Vertex visited: 2
Vertex visited: 5
Vertex visited: 4
Vertex visited: 3
Vertex visited: 6
Vertex visited: 1
Vertex visited: 0
Menu:
1. Depth First Search (DFS)
2. Topological Sort
3. Breadth First Search (BFS)
4. Exit
Enter your choice: 1
Enter the starting vertex: 5
DFS:
Vertex visited: 5
Vertex visited: 2
Vertex visited: 4
Vertex visited: 3
Vertex visited: 6
Vertex visited: 1
Vertex visited: 0
Menu:
1. Depth First Search (DFS)
2. Topological Sort
3. Breadth First Search (BFS)
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
4. Exit
Enter your choice: 2
DFS:
Vertex visited: 2
Vertex visited: 5
Vertex visited: 4
Vertex visited: 3
Vertex visited: 1
Vertex visited: 0
Vertex visited: 6
Topological Sort: 6 0 1 3 4 5 2
Menu:
1. Depth First Search (DFS)
2. Topological Sort
3. Breadth First Search (BFS)
4. Exit
Enter your choice: 3
Enter the starting vertex: 0
BFS:
Vertex visited: 0
Vertex visited: 3
Vertex visited: 1
Vertex visited: 4
Vertex visited: 2
Vertex visited: 5
Menu:
1. Depth First Search (DFS)
2. Topological Sort
3. Breadth First Search (BFS)
4. Exit
Enter your choice: 3
Enter the starting vertex: 1
BFS:
Vertex visited: 1
Vertex visited: 4
Vertex visited: 2
Vertex visited: 5
Menu:
1. Depth First Search (DFS)
2. Topological Sort
Document Page
3. Breadth First Search (BFS)
4. Exit
Enter your choice: 3
Enter the starting vertex: 3
BFS:
Vertex visited: 3
Vertex visited: 4
Vertex visited: 2
Vertex visited: 5
Menu:
1. Depth First Search (DFS)
2. Topological Sort
3. Breadth First Search (BFS)
4. Exit
Enter your choice: 3
Enter the starting vertex: 4
BFS:
Vertex visited: 4
Vertex visited: 2
Vertex visited: 5
Menu:
1. Depth First Search (DFS)
2. Topological Sort
3. Breadth First Search (BFS)
4. Exit
Enter your choice: 4
Copy constructor
DFS:
Vertex visited: 2
Vertex visited: 5
Vertex visited: 4
Vertex visited: 3
Vertex visited: 1
Vertex visited: 0
Vertex visited: 6
chevron_up_icon
1 out of 6
circle_padding
hide_on_mobile
zoom_out_icon
[object Object]