Ejemplo n.º 1
0
def merge_nodes(gr, node1, node2):
    if (gr.has_edge((node1, node2))):
        gr.del_edge((node1, node2))
    else:
        gr.del_edge((node2, node1))

    new = newNode.join(node1, node2, gr)
    for curNode in [node1, node2]:
        for curFather in gr.incidents(curNode):
            if (not gr.has_edge((curFather, new))):
                duplicateEdge(graph=gr,
                              orig=(curFather, curNode),
                              new=(curFather, new))
        for curNeigbour in gr.neighbors(curNode):
            if (not gr.has_edge((new, curNeigbour))):
                duplicateEdge(graph=gr,
                              orig=(curNode, curNeigbour),
                              new=(new, curNeigbour))
    gr.del_nodes([node1, node2])
Ejemplo n.º 2
0
def merge_nodes(gr, node1, node2):
    if (gr.has_edge((node1, node2))):
        gr.del_edge((node1, node2))
    else:
        gr.del_edge((node2, node1))
        
    new = newNode.join(node1, node2, gr)
    for curNode in [node1, node2]:
        for curFather in gr.incidents(curNode):
            if (not gr.has_edge((curFather,new))):
                duplicateEdge(graph=gr,
                              orig=(curFather, curNode),
                              new=(curFather, new))
        for curNeigbour in gr.neighbors(curNode):
            if (not gr.has_edge((new,curNeigbour))):
                duplicateEdge(graph=gr,
                              orig=(curNode, curNeigbour),
                              new=(new, curNeigbour))
    gr.del_nodes([node1, node2])