Projects/graph.py

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()