intermediate
Деревья и binary search trees
Терминология деревьев, порядки обхода, balanced vs skewed и инварианты BST.
Trees представляют hierarchy через parent-child edges. Binary trees ограничивают node левым и правым child; binary search trees добавляют ordering invariant. Traversal order важен: preorder удобен для serialization, inorder показывает sorted BST values, а postorder помогает delete или aggregate children first.
Компромисс: сравните время, память и сложность реализации до выбора структуры или паттерна.
На интервью: Интервьюеры ожидают base cases, объяснение recursion depth и различие general binary tree от balanced search tree.
Типовые ошибки: Skewed BST является linked list с O(n) operations. Не валидируйте BST проверкой только immediate children; передавайте min и max bounds через recursion.
Чеклист:
- Выберите traversal order.
- Отслеживайте depth и stack space.
- Передавайте BST bounds.
- Обработайте null children.