breadth_first_traverse

compas.topology.breadth_first_traverse(adjacency, root, callback=None)[source]

Traverse an adjacency dict in “breadth-first” order.

Parameters
  • adjacency (dict[hashable, dict[hashable, None]] | dict[hashable, sequence[hashable]]) – An adjacency dictionary representing the connectivity of the graph by mapping nodes identifiers to neighbour identifiers. Examples of valid adjacency dicts are

    • {0: [1, 2, 3, 4], 1: [0], 2: [0], 3: [0], 4: [0]}

    • {0: {1: None, 2: None, 3: None, 4: None}, 1: {0: None}, 2: {0: None}, 3: {0: None}, 4: {0: None}}

  • root (hashable) – The identifier of the starting node.

  • callback (callable, optional) – A callback function applied to every traversed node and its current neighbour.

Returns

set[hashable] – The visited nodes.