Перейти к содержимому
- Введение
- Определения
- Дерево: узлы (node) + ребра
- Узлы бывают внутренние (те, у которых есть потомки) и листовые узлы (те, у которых нет потомков)
- Глубина (depth) определяет то, сколько шагов нужно пройти по вершинам от корневой, чтобы достичь текущей
- Вершины на одной глубине называются братскими или сестринскими
- Варианты описания
- Вложенные массивы:
[[1, 4], 2, [3, 8]];
[[1], [[[2], [[5], [6]]], [3], [[4], [[7], [8]]]]];
- Ассоциативные массивы
- Определение того, что за узел перед нами (какой у него тип!), нужно делать через проверку
type
, а не через проверку наличия свойства children
- Traversal
- Обход в глубину – один из вариантов обхода дерева
- Map
- Функция
map
каждому узлу ставит в соответствие новый узел, так что структура всего дерева остаётся прежней, а вот данные внутри узла меняются