41 lines
1.0 KiB
Python
41 lines
1.0 KiB
Python
class Graph:
|
|
def __init__(self):
|
|
self.graph = {}
|
|
|
|
def add_vertex(self, vertex):
|
|
if vertex not in self.graph:
|
|
self.graph[vertex] = []
|
|
else:
|
|
print(f"Vertex {vertex} already exists.")
|
|
|
|
def add_edge(self, vertex1, vertex2, length:int):
|
|
if vertex1 in self.graph and vertex2 in self.graph:
|
|
self.graph[vertex1].append(vertex2)
|
|
self.graph[vertex2].append(vertex1)
|
|
self.length = length
|
|
else:
|
|
print("One or both vertices not found.")
|
|
|
|
def display(self):
|
|
for vertex in self.graph:
|
|
print(f'{vertex}: {self.graph[vertex]} : {self.length}' )
|
|
|
|
# Example usage
|
|
if __name__ == "__main__":
|
|
g = Graph()
|
|
|
|
# Adding vertices
|
|
g.add_vertex("A")
|
|
g.add_vertex("B")
|
|
g.add_vertex("C")
|
|
g.add_vertex("D")
|
|
|
|
# Adding edges
|
|
g.add_edge("A", "B", 10)
|
|
g.add_edge("A", "C", 5)
|
|
g.add_edge("B", "D", 30)
|
|
g.add_edge("C", "D", 11)
|
|
|
|
# Display the graph
|
|
g.display()
|