def get_neighbors_with_self(self): r = {} for x in self.nodes_id: for n in get_neighbors_id(x): r[n] = 1 for x in self.nodes_id: r[x] = 1 return r.keys()
def get_edges_num(self): # TODO merge with get_adjacency_iter # ed = {} count = 0 for x in self.nodes_id: for y in get_neighbors_id(x): if y in self.nodes_id: count += 1 return count
def get_neighbors(self): """ @return a list of neighbors id. """ r = {} for x in self.nodes_id: for n in get_neighbors_id(x): r[n] = 1 for x in self.nodes_id: r[x] = 0 return [x for x in r if r[x]]
def get_adjacency_iter(self): result = [] for x in self.nodes_id: x_iter=(x,{}) x_neighbor = get_neighbors_id(x) for y in x_neighbor: if y in self.nodes_id: x_iter[1][y]={} result.append(x_iter) # TODO: may be problem!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! return result