Простой ответ: разветвляйте дерево, а затем соедините «листья» на каждой ветке со всеми не листьями на других ветвях.
Позвольте мне предложить больше объяснений.Предположим, что у вас есть 15 человек.Затем начните их следующим образом:
{
1: [2, 3],
2: [4, 5],
3: [6, 7],
4: [8, 9],
5: [10, 11],
6: [12, 13],
7: [14, 15],
Тогда листья ниже 2 равны 8, 9, 10, 11, а листья ниже 3 - 12, 13, 14, 15. Итак, теперь вы соединяете их с:
8: [3, 6],
9: [7, 12],
10: [13, 14],
11: [15],
12: [2, 4],
13: [5, 8],
14: [9, 10],
15: [11]
}
Таким образом, у вас есть дерево ниже 2 и дерево ниже 3. А если что-то отсутствует на одной стороне, это связано с другой.
Если выувеличьте коэффициент ветвления, затем увеличьте часть дерева, которая является листьями, что еще больше упрощает многосвязное соединение.(Также уменьшается расстояние от корня до любого элемента.)