Para un conjunto de vértices $v = \left\{v_1...v_n \right\}$ y una raíz común $r$ ¿existe una forma eficiente (tal vez $O(1)$ por árbol) que genera todos los árboles no isomórficos en todos los nodos $v$ y con raíz $r$ .
Dos árboles son isomórficos si todas las relaciones padre-hijo son iguales, es decir, todos los nodos equivalentes de los dos árboles tienen el mismo padre y los mismos hijos.
Ejemplo: $v = \left\{v_1, v_2, v_3\right\}$
Todos los árboles deben tener la misma raíz y el mismo conjunto de nodos. La siguiente imagen muestra algunos árboles válidos:
La inclusión de un árbol debe hacer que se ignoren todos los demás árboles isomórficos
Otro post de SO muestra una implementación que encuentra topologías no enraizadas:
En una respuesta, aparece este algoritmo para crear topologías no isomórficas no enraizadas en $n$ nodos en tiempo constante por árbol.
Robert Alan Wrights, Bruce Richmond, Andrew Odlyzko y Brendan D. Mckay (1986). "Generación en tiempo constante de árboles libres". SIAM J. Comput. 15:2, pp. 540-548.
No estoy seguro de que sea posible ampliar este algoritmo de manera eficiente para generar los árboles enraizados deseados.