Skip to main content

Python : Simple graph implementation






class Graph:
   
    def __init__(self):
        self.list_edge = {}
        self.list_vertex = {}
       
    def add_node(self,node):
        self.list_vertex[node] = True

    def add_edge(self,node,nodenext):
        try :
            self.list_edge[node].append(nodenext)
        except :
            self.list_edge[node] = []
            self.list_edge[node].append(nodenext)
        try :
            self.list_edge[nodenext].append(node)
        except :
            self.list_edge[nodenext] = []
            self.list_edge[nodenext].append(node)
   
    def neighbors(self,node):
        try :
            return self.list_edge[node]
        except :
            return []
   
    def nodes(self):
        return self.list_vertex.keys()
   
if __name__ == "__main__":
    G = Graph()
    G.add_node(1)
    G.add_node(2)
    G.add_node(3)
    G.add_node(4)
    G.add_node(5)
   
    G.add_edge(1,2)
    G.add_edge(2,3)
    G.add_edge(3,4)
    G.add_edge(1,4)
    print G.neighbors(1)
    print G.nodes()

Comments