def delete_node(self, n): try: if len(self.adj[n])==1: # allowed for leaf node Graph.delete_node(self,n) else: raise NetworkXError( "deleting interior node %s not allowed in tree"%(n)) except KeyError: # NetworkXError if n not in self raise NetworkXError("node %s not in graph"%n)
def delete_node(self, n): try: if len(self.adj[n]) == 1: # allowed for leaf node Graph.delete_node(self, n) del self.par[n] else: raise NetworkXError, \ "deleting interior node %s not allowed in tree"%(n) except KeyError: # NetworkXError if n not in self raise NetworkXError, "node %s not in graph" % n
def delete_edge(self, u, v=None): if v is None: (u,v)=u if self.degree(u)==1 or self.degree(v)==1: # leaf edge Graph.delete_edge(self,u,v) else: # interior edge raise NetworkXError(\ "deleting interior edge %s-%s not allowed in tree"%(u,v)) if self.degree(u)==0: # OK to delete remaining isolated node Graph.delete_node(self,u) if self.degree(v)==0: # OK to delete remaining isolated node Graph.delete_node(self,v)
def delete_edge(self, u, v=None): if v is None: (u, v) = u if self.degree(u) == 1 or self.degree(v) == 1: # leaf edge Graph.delete_edge(self, u, v) else: # interior edge raise NetworkXError(\ "deleting interior edge %s-%s not allowed in tree"%(u,v)) if self.degree(u) == 0: # OK to delete remaining isolated node Graph.delete_node(self, u) if self.degree(v) == 0: # OK to delete remaining isolated node Graph.delete_node(self, v)
def delete_node(self, n): # get neighbors first since this will remove all edges to them neighbors=self.neighbors(n) Graph.delete_node(self,n) # delete node and adjacent edges del self.comp[n] # remove node from component dictionary if len(neighbors)==1: return # n was a leaf node for nbr in neighbors: # make new components of each nbr and connected graph # FIXME this does more work then is necessary # since nbrs of n could be in same conected component # and then will get renumbered more than once vnodes=component.node_connected_component(self,nbr) for v in vnodes: self.comp[v]=self.nc self.nc+=1
def delete_node(self, n): # get neighbors first since this will remove all edges to them neighbors = self.neighbors(n) Graph.delete_node(self, n) # delete node and adjacent edges del self.comp[n] # remove node from component dictionary if len(neighbors) == 1: return # n was a leaf node for nbr in neighbors: # make new components of each nbr and connected graph # FIXME this does more work then is necessary # since nbrs of n could be in same conected component # and then will get renumbered more than once vnodes = component.node_connected_component(self, nbr) for v in vnodes: self.comp[v] = self.nc self.nc += 1