Публикации по теме 'trees'


Программа для поиска максимальной глубины двоичного дерева в Python
Сегодня мы будем работать над популярным вопросом, который задают на технических собеседованиях в компаниях MAANG и других компаниях. Учитывая root бинарного дерева, вернуть его максимальную глубину . Максимальная глубина бинарного дерева — это количество узлов на самом длинном пути от корневого узла до самого дальнего конечного узла. class Node: def __init__(self, data): self.data = data self.left = None self.right = None def find_depth(root):..

Обход дерева
Что ж, у меня есть 4 разных типа обходов дерева, которые приходят мне в голову, когда я думаю об этом: Чтобы Предзаказ PostOrder Вертикальный обход заказа Обход порядка уровней [рассматривается в другом уроке] Inorder Traversal Algorithm Inorder(tree) 1. Traverse the left subtree, i.e., call Inorder(left-subtree) 2. Visit the root. 3. Traverse the right subtree, i.e., call Inorder(right-subtree) Моя реализация на основе Java для этого PostOrder Traversal..

Раскрась, пожалуйста, как красно-черные деревья
Раскрась, пожалуйста, как красно-черные деревья У нас есть что-то вроде бинарных деревьев поиска. Действительно простая структура данных. Но у нас также есть множество различных древовидных структур: splays, AVL, красно-черные деревья и так далее. Это почему? Почему недостаточно BST? А именно, причина в том, что они могут расти неравномерно, вне нашего контроля. Таким образом, в худшем случае временная сложность поиска может быть линейной, что по большому счету не имеет смысла для..