In this program, we are going to share Topological sorting program in Java. If you are a Java beginner and want to start learning the Java programming, then keep your close attention in this tutorial as I am going to share how to write a java program for topological sorting with the output.
Copy the below Java program and execute it with the help of Javac compiler. At the end of this program, We have shared the output of this program.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | import java.io.*; import java.util.*; class Graph { private int V; private LinkedList<Integer> adj[]; //Constructor Graph(int v) { V = v; adj = new LinkedList[v]; for (int i=0; i<v; ++i) adj[i] = new LinkedList(); } void addEdge(int v,int w) { adj[v].add(w); } void topologicalSortUtil(int v, boolean visited[], Stack stack) { visited[v] = true; Integer i; Iterator<Integer> it = adj[v].iterator(); while (it.hasNext()) { i = it.next(); if (!visited[i]) topologicalSortUtil(i, visited, stack); } stack.push(new Integer(v)); } void topologicalSort() { Stack stack = new Stack(); boolean visited[] = new boolean[V]; for (int i = 0; i < V; i++) visited[i] = false; // one by one for (int i = 0; i < V; i++) if (visited[i] == false) topologicalSortUtil(i, visited, stack); // Print contents of stack while (stack.empty()==false) System.out.print(stack.pop() + " "); } public static void main(String args[]) { Graph g = new Graph(6); g.addEdge(5, 2); g.addEdge(5, 0); g.addEdge(4, 0); g.addEdge(4, 1); g.addEdge(2, 3); g.addEdge(3, 1); System.out.println("The topological sort of the given graph is:"); g.topologicalSort(); } } |
The topological sort of the given graph is:
5 4 2 3 1 0
Liked this program? Do Like & share with your friends 🙂
If you like FreeWebMentor and you would like to contribute, you can write an article and mail your article to [email protected] Your article will appear on the FreeWebMentor main page and help other developers.
Article Tags: how to get all the solutions of topological sorting, Java Program for Topological Sorting in Graphs, Java programs, Java programs with examples, Java programs with output, Kahn's algorithm for Topological Sorting, Sample Directed Graph and Topological Sort Code, topological sort in Java, topological sorting and cycles, Topological Sorting(BFS).java