Python 3 Topological Sorting Algorithm Script to Sort Number Array in Ascending or Descending Order Full Example Project For Beginners Welcome folks today in this blog post we will be sorting number array in ascending or descending order using topological sorting algorithm in python. All the full source code of the application is shown below.

Get Started

In order to get started you need to make an app.py file and copy paste the following code

app.py

#Python program to print topological sorting of a DAG
from collections import defaultdict

#Class to represent a graph
class Graph:
def __init__(self,vertices):
self.graph = defaultdict(list) #dictionary containing adjacency List
self.V = vertices #No. of vertices

# function to add an edge to graph
self.graph[u].append(v)

# A recursive function used by topologicalSort
def topologicalSortUtil(self,v,visited,stack):

# Mark the current node as visited.
visited[v] = True

# Recur for all the vertices adjacent to this vertex
for i in self.graph[v]:
if visited[i] == False:
self.topologicalSortUtil(i,visited,stack)

# Push current vertex to stack which stores result
stack.insert(0,v)

# The function to do Topological Sort. It uses recursive
# topologicalSortUtil()
def topologicalSort(self):
# Mark all the vertices as not visited
visited = [False]*self.V
stack =[]

# Call the recursive helper function to store Topological
# Sort starting from all vertices one by one
for i in range(self.V):
if visited[i] == False:
self.topologicalSortUtil(i,visited,stack)

# Print contents of stack
print(stack)

g= Graph(6)

print("Following is a Topological Sort of the given graph")
g.topologicalSort()
#This code is contributed by Neelam Yadav

Now if you execute the python file script by typing the below command as shown below

python app.py 