243
правки
Изменения
→Задачи о бинарном дереве поиска
'''else''' check(v.right, v.key, max)
'''return''' ''true''
[[Файл:Tree_mistakes.png|right|thumb|260px|Пример дерева, для которого недостаточно проверки лишь его соседей]]
Функция принимает на вход исследуемую вершину, а также два значения: <tex>\mathtt{min}</tex> и <tex>\mathtt{max}</tex>, которые до вызова функции равнялись <tex> \infty </tex> и <tex> -\infty </tex> соответственно, где <tex> \infty </tex> — очень большое число, т.е. ни один ключ дерева не превосходит его по модулю. Казалось бы, два последних параметра не нужны. Но без них программа может выдать неверный ответ, так как сравнения только вершины и её детей недостаточно. Необходимо также помнить, в каком поддереве для более старших предков мы находимся.