DSA Graphs
Language: Data Structures
class Graph:
def __init__(self):
self.adjacency_list = {}
def add_vertex(self, vertex):
if vertex not in self.adjacency_list:
self.adjacency_list[vertex] = []
def add_edge(self, v1, v2):
self.add_vertex(v1)
self.add_vertex(v2)
self.adjacency_list[v1].append(v2)
self.adjacency_list[v2].append(v1) # undirected: add both directions
# Build a small social network graph
graph = Graph()
graph.add_edge("Alice", "Bob")
graph.add_edge("Alice", "Cara")
graph.add_edge("Bob", "Cara")
print(graph.adjacency_list)
# {'Alice': ['Bob', 'Cara'], 'Bob': ['Alice', 'Cara'], 'Cara': ['Alice', 'Bob']}
Output
Click Run to execute this code.