private void cascadingCut()

in src/main/java/org/apache/commons/graph/collections/FibonacciHeap.java [168:191]


    private void cascadingCut( FibonacciHeapNode<E> y )
    {
        // z <- p[y]
        FibonacciHeapNode<E> z = y.getParent();

        // if z != NIL
        if ( z != null )
        {
            // if mark[y] = FALSE
            if ( !y.isMarked() )
            {
                // then mark[y]  TRUE
                y.setMarked( true );
                markedNodes++;
            }
            else
            {
                // else CUT(H,y,z)
                cut( y, z );
                // CASCADING-CUT(H,z)
                cascadingCut( z );
            }
        }
    }