From e08aadd00eff6b419fd738d7838912740c0223ab Mon Sep 17 00:00:00 2001 From: Ved Prakash Vishwakarma Date: Sun, 20 Oct 2024 13:11:19 +0530 Subject: [PATCH 1/3] Issue 12192 fixed, Traversal direction is considered from top to bottom as stated. --- sorts/topological_sort.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sorts/topological_sort.py b/sorts/topological_sort.py index efce8165fcac..c790cc93d54b 100644 --- a/sorts/topological_sort.py +++ b/sorts/topological_sort.py @@ -21,12 +21,13 @@ def topological_sort(start: str, visited: list[str], sort: list[str]) -> list[st # add current to visited visited.append(current) neighbors = edges[current] + #as we are traversing in from top to down in tree like graph (direction not given) we consider direction from top to down + #as the current node encounter add it to the topo sort list + sort.append(current) for neighbor in neighbors: # if neighbor not in visited, visit if neighbor not in visited: sort = topological_sort(neighbor, visited, sort) - # if all neighbors visited add current to sort - sort.append(current) # if all vertices haven't been visited select a new one to visit if len(visited) != len(vertices): for vertice in vertices: From 239b8c83e4117b1cb9bffe553a5e1a9e54edf2bd Mon Sep 17 00:00:00 2001 From: Ved Prakash Vishwakarma Date: Sun, 20 Oct 2024 14:16:08 +0530 Subject: [PATCH 2/3] Issue 12192 fixed with all checks passed --- sorts/topological_sort.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sorts/topological_sort.py b/sorts/topological_sort.py index c790cc93d54b..e39585e0bb8e 100644 --- a/sorts/topological_sort.py +++ b/sorts/topological_sort.py @@ -21,8 +21,8 @@ def topological_sort(start: str, visited: list[str], sort: list[str]) -> list[st # add current to visited visited.append(current) neighbors = edges[current] - #as we are traversing in from top to down in tree like graph (direction not given) we consider direction from top to down - #as the current node encounter add it to the topo sort list + # direction not given so consider from top to bottom + # as the current node encounter add it to the topo sort list sort.append(current) for neighbor in neighbors: # if neighbor not in visited, visit From 7ac458d7462b48fd791f66e908842098f153dd02 Mon Sep 17 00:00:00 2001 From: Ved Prakash Vishwakarma Date: Mon, 21 Oct 2024 01:32:40 +0530 Subject: [PATCH 3/3] comment updated --- sorts/topological_sort.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sorts/topological_sort.py b/sorts/topological_sort.py index e39585e0bb8e..fc638cbfd5a0 100644 --- a/sorts/topological_sort.py +++ b/sorts/topological_sort.py @@ -17,11 +17,11 @@ def topological_sort(start: str, visited: list[str], sort: list[str]) -> list[str]: """Perform topological sort on a directed acyclic graph.""" + # consider edge direction from top to bottom current = start # add current to visited visited.append(current) neighbors = edges[current] - # direction not given so consider from top to bottom # as the current node encounter add it to the topo sort list sort.append(current) for neighbor in neighbors: