kor

Run Settings
LanguagePython
Language Version
Run Command
def dfs(visited,graph,stack,root): visited.add(root) for neighbour in graph[root]: if neighbour not in visited: dfs(visited,graph,stack,neighbour) stack.append(root) return stack def dfs_on_reverse(node, visit, component): visit.add(node) component.append(node) for neighbour in reverse_graph[node]: if neighbour not in visit: dfs_on_reverse(neighbour, visit, component) graph = { 1: [2], 2: [3], 3: [1, 4], 4: [5], 5: [6], 6: [4], 7: [6, 8], 8: [7] } stack=[] visited=set() for node in graph: if node not in visited: dfs(visited, graph, stack, node) reverse_graph={} for node in graph: for neighbour in graph[node]: reverse_graph.setdefault(neighbour, []).append(node) visit=set() while stack: node = stack.pop() if node not in visit: component = [] dfs_on_reverse(node, visit, component) print("SCC:", component)
Editor Settings
Theme
Key bindings
Full width
Lines