Задать вопрос
@no_name123234234234234

Как обойти бинарное дерево?

Есть способ обойти массив данных приведённый, через класс, БЕЗ ЦИКЛОВ чтобы по id элемента можно было узнавать родителей/потомков?

У родителя (цифры 2) 3 потомка....

items = [
    {"id": 1, "parent": "root"},
    {"id": 2, "parent": 1, "type": "test"},
    {"id": 3, "parent": 1, "type": "test"},
    {"id": 4, "parent": 2, "type": "test"},
    {"id": 5, "parent": 2, "type": "test"},
    {"id": 6, "parent": 2, "type": "test"},
    {"id": 7, "parent": 4, "type": None},
    {"id": 8, "parent": 4, "type": None}
]
  • Вопрос задан
  • 161 просмотр
Подписаться 2 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
Vindicar
@Vindicar
RTFM!
Для именно такой структуры данных - нет, нельзя.
(Ну, можно попробовать рекурсией, но это извращение будет.)
Ответ написан
@dmshar
Вообще-то, если "У родителя (цифры 2) 3 потомка...." то это как бы не бинарное дерево.
А вот "по id элемента можно было узнавать родителей/потомков" - можно в одном специальном случае, который называется бинарное сортирующее дерево и используется, в частности, в алгоритме пирамидальной сортировки.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
SpectrumData Екатеринбург
от 200 000 до 300 000 ₽
Akronix Санкт-Петербург
от 150 000 до 200 000 ₽
19 янв. 2025, в 02:12
70000 руб./за проект
19 янв. 2025, в 01:58
20000 руб./за проект
18 янв. 2025, в 23:27
50000 руб./за проект