Для проекту, над яким я працюю, я повинен генерувати випадкові простягаються дерева з обмеженою висотою.
В основному я роблю наступне: 1) Створіть дерево, що перекидається, 2) Перевірте можливість, якщо можливо, збережіть його.
1) Починаючи з дерева, що має мінімальний розмір (Прима або Крускала), я додаю неіснуючий край, і це створює цикл, я виявляю цей цикл і видаляю один з країв цього циклу, який дає мені нове дерево, що перекидається, і я продовжую це розкинуте дерево, додавши новий край ...
2) Припустимо, існує спеціальна вершина . Для кожної вершини, довжина шляху від до повинно бути менше , де - заданий параметр.
Чи є кращий (розумний) спосіб зробити це?
PS Я забув вказати інше обмеження (моя помилка): ступінь вершин також має бути обмеженим.