35 lines
831 B
Python
35 lines
831 B
Python
class Node:
|
|
def __init__(self, value):
|
|
self.value = value
|
|
def __str__(self):
|
|
return self.value
|
|
def __repr__(self):
|
|
return self.__str__()
|
|
|
|
class Graph:
|
|
def __init__(self):
|
|
self.nodes = []
|
|
self.connections = {}
|
|
self.new_node("root")
|
|
|
|
def new_node(self,value, connections= None):
|
|
value = Node(value)
|
|
self.connections[value] = connections
|
|
self.nodes.append(value)
|
|
|
|
def add_connection(self, node_name, connections):
|
|
self.connections[node_name] = connections
|
|
|
|
|
|
def create_graph():
|
|
g = Graph()
|
|
g.new_node("1")
|
|
g.add_connection("1", ["root","2","3"])
|
|
g.new_node("2")
|
|
g.add_connection("2", ["root","3","4"])
|
|
g.new_node("3")
|
|
g.new_node("4")
|
|
g.add_connection("3", ["5"])
|
|
g.new_node("5")
|
|
|
|
create_graph() |