logo search
лекции по МОТС / ДИСКРЕТНАЯ МАТЕМАТИКА Графы

9.4.4. Алгоритм поиска в дереве сортировки

Следующий алгоритм находит в дереве сортировки узел с указанным ключом, если он там есть.

Алгоритм 9.3. Поиск узла в дереве сортировки

Вход: дерево сортировки Т, заданное указателем на корень; ключ а.

Выход: указатель р на найденный узел или nil, если в дереве нет такого ключа.

р: = Т { указатель на проверяемый узел }

while р  nil do

if a < p.i then

p:=p.l { продолжаем поиск слева }

else if a > p.i then

p : = p.r { продолжаем поиск справа }

else

return р { нашли узел }

end if

end while

обоснование

Этот алгоритм работает в точном соответствии с определением дерева сорти­ровки: если текущий узел не искомый, то в зависимости от того, меньше или больше искомый ключ по сравнению с текущим, нужно продолжать поиск слева или справа, соответственно.