243
правки
Изменения
→Проверка того, что заданное дерево является деревом поиска
'''function''' look(Tree[n]: '''Node''') <font color="green">// Здесь Tree — заданное двоичное дерево.</font>
'''bool''' check(v : '''Node''', min: '''int''', max: '''int'''): <font color="green">// min и max — минимально и максимально допустимые значения в вершинах поддерева.</font>
'''if''' v.left != ''null''
'''if''' v.left.key > v.key '''or''' v.left.key < min
'''return''' ''true''
check(root, <tex> \infty </tex>, <tex> -\infty </tex>) <font color="green">// root - корень дерева.</font>
Время работы алгоритма {{---}} <tex>O(n)</tex>, где <tex>n</tex> {{---}} количество вершин в дереве.