Продолжаем цикл статей про деревья. Основной целью этого цикла является практика и подготовка к собеседованиям а не промышленные решения (о них я расскажу в следующих частях). В этой части мы еще раз воспользуемся рекурсией для решения одной популярной задачи. Задача - проверить является ли дерево ли бинарным деревом поиска? Для начала определимся что такое бинарное дерево поиска: Такое дерево называется Бинарным Деревом Поиска (Binary Search Tree). Но не стоит путать его с балансированым бинарным деревом. Про сбалансированные бинарные деревья мы поговорим в следующих частях. Посмотрим на примеры бинарных деревьев поиска: В примерах ниже если вы возьмете любой узел и проверите значения его левого подграфа то все эти значения будут меньше чем сам узел. Аналогично справа все значения будут больше: Теперь обратим внимание на деревья нарушающие требуемую логику: В дереве слева есть следующие недостатки: В дереве справа Давайте попробуем написать простейшее решение данной задачи: Из требова