Buenas, lograste encontrar una solución a tu problema?
Porque yo hasta este momento sigo teniendo el mismo inconveniente que estas planteando.
No veo como es posible que un nodo del árbol logre determinar su enlace de swap sin consultar con todos sus vecinos, cuyo enlace que los conecta no pertenece al árbol, cual es su costo para alcanzar la raíz, lo cual me genera un orden mayor al solicitado.
Saludos!