LEXAlForpostl
Мой дом здесь!
- Регистрация
- 21 Май 2008
- Сообщения
- 766
- Реакции
- 228
- Автор темы
- #1
Здравствуйте.
Уважаемые коллеги, подскажите, пожалуйста, решение задачи.
Необходимо создать взвешенное дерево(т.е. каждая связь будет есть свой вес=числовое значение).
Необходимо иметь возможность добавлять наследника, указав номер родителя.
UPD
Появилась следующая идея реализации:
Создаём два массива:
1. Двумерный массив, первый индекс которого отвечает за уровень вложенности; второй индекс отвечает за те элементы, которые находятся на текущем уровне.
2. Двумерный массив отношений. $relations[parent's_index][son's_index]=вес связи.
Однако, как при такой структуре получить массив всех элементов, которые входят в поддерево родителя K? К может быть и корнем дерева, и листьями, и любым другим значением.
Уважаемые коллеги, подскажите, пожалуйста, решение задачи.
Необходимо создать взвешенное дерево(т.е. каждая связь будет есть свой вес=числовое значение).
Необходимо иметь возможность добавлять наследника, указав номер родителя.
UPD
Появилась следующая идея реализации:
Создаём два массива:
1. Двумерный массив, первый индекс которого отвечает за уровень вложенности; второй индекс отвечает за те элементы, которые находятся на текущем уровне.
2. Двумерный массив отношений. $relations[parent's_index][son's_index]=вес связи.
Однако, как при такой структуре получить массив всех элементов, которые входят в поддерево родителя K? К может быть и корнем дерева, и листьями, и любым другим значением.