mirror of
https://github.com/TheAlgorithms/Python.git
synced 2025-05-12 20:35:45 +00:00
Fixed file name and removed a function call
This commit is contained in:
parent
4c8450f894
commit
0d1134dac8
@ -17,7 +17,7 @@ class Node:
|
|||||||
self.neighbors = neighbors if neighbors is not None else []
|
self.neighbors = neighbors if neighbors is not None else []
|
||||||
|
|
||||||
|
|
||||||
def clone_graph(node: Node | None) -> None | None:
|
def clone_graph(node: Node | None) -> Node | None:
|
||||||
"""
|
"""
|
||||||
This function returns a clone of a connected undirected graph.
|
This function returns a clone of a connected undirected graph.
|
||||||
>>> clone_graph(Node(1))
|
>>> clone_graph(Node(1))
|
||||||
@ -33,6 +33,10 @@ def clone_graph(node: Node | None) -> None | None:
|
|||||||
originals_to_clones = {} # map nodes to clones
|
originals_to_clones = {} # map nodes to clones
|
||||||
|
|
||||||
def create_clones(node: Node) -> None:
|
def create_clones(node: Node) -> None:
|
||||||
|
"""
|
||||||
|
This helper function populates the originals_to_clones map with
|
||||||
|
the original nodes in the graph mapped to newly created clones.
|
||||||
|
"""
|
||||||
if node in originals_to_clones:
|
if node in originals_to_clones:
|
||||||
return
|
return
|
||||||
|
|
||||||
@ -43,14 +47,11 @@ def clone_graph(node: Node | None) -> None | None:
|
|||||||
|
|
||||||
create_clones(node)
|
create_clones(node)
|
||||||
|
|
||||||
def connect_clones_to_cloned_neighbors() -> None:
|
|
||||||
for original, clone in originals_to_clones.items():
|
for original, clone in originals_to_clones.items():
|
||||||
for neighbor in original.neighbors:
|
for neighbor in original.neighbors:
|
||||||
cloned_neighbor = originals_to_clones[neighbor]
|
cloned_neighbor = originals_to_clones[neighbor]
|
||||||
clone.neighbors.append(cloned_neighbor)
|
clone.neighbors.append(cloned_neighbor)
|
||||||
|
|
||||||
connect_clones_to_cloned_neighbors()
|
|
||||||
|
|
||||||
return originals_to_clones[node]
|
return originals_to_clones[node]
|
||||||
|
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user