Para um projeto em que estou trabalhando, devo gerar árvores de abrangência aleatórias com altura delimitada.
Basicamente, faço o seguinte: 1) Gere uma árvore de abrangência 2) Verifique a viabilidade, se possível, mantenha-a.
1) Partindo de uma árvore de abrangência mínima (da Prim ou Kruskal), adiciono uma aresta inexistente e isso cria um ciclo, eu detecto esse ciclo e removo uma das arestas deste ciclo que me fornece uma nova árvore de ampliação e continuo com essa árvore de abrangência adicionando uma nova borda ...
2) Suponha que exista um vértice especial . Para cada vértice , o comprimento do caminho de a deve ser menor que , onde é um parâmetro especificado.v V c e n t e r δ δ
Existe alguma maneira melhor (inteligente) de fazer isso?
PS Esqueci de especificar a outra restrição (meu erro): o grau dos vértices também deve ser delimitado.