Обход двоичного дерева предзаказа

Мне нужна помощь в обходе двоичного дерева предзаказа. Я понимаю, как он перемещается (корневой, левый, правый), но посмотрите на этот пример (а)

введите здесь описание изображения Почему они так написали? По правилу мы должны были перейти к *, но он пошел к 2 Это потому, что у 2 нет детей?


person yuki    schedule 25.11.2020    source источник


Ответы (1)


Алгоритм обхода бинарного дерева предварительного порядка:

  1. Посетите корень.
  2. Пройдите по левому поддереву, т. е. вызовите Preorder(left-subtree)
  3. Пройдите по правому поддереву, т. е. вызовите Preorder(right-subtree);

Таким образом, сначала вы проходите корень +, затем переходите к шагу 2 и посещаете левое поддерево -, а затем снова вызывается алгоритм обхода из корня -, и алгоритм делает первый свой шаг, но теперь его корень -. После первого шага алгоритм переходит к шагу 2, и его левое поддерево 2, и т.д.

Итак, для лучшего понимания вы можете посмотреть это видео Обход дерева

person Eugene Afanasyev    schedule 26.11.2020