You are viewing a single comment's thread. Return to all comments →
Python
from collections import deque, defaultdict class Graph: def __init__(self, n): self.n = n self.neighbors = defaultdict(set) def connect(self, a, b): self.neighbors[a].add(b) self.neighbors[b].add(a) def find_all_distances(self, start): distances = {} queue = deque((n, 1) for n in self.neighbors[start]) visited = set([start]) while queue: curr_node, dist_from_start = queue.popleft() if curr_node in visited: continue visited.add(curr_node) distances[curr_node] = dist_from_start * 6 queue.extend((n, dist_from_start+1) for n in self.neighbors[curr_node]) for i in range(0, self.n): if i == start: continue print(distances.get(i, -1), end=" ") print()
Seems like cookies are disabled on this browser, please enable them to open this website
BFS: Shortest Reach in a Graph
You are viewing a single comment's thread. Return to all comments →
Python