НачатьНачать бесплатно

Вывод названий книг в алфавитном порядке

В видеоуроке были рассмотрены три способа реализации обхода в глубину для бинарных деревьев: в симметричном порядке (in-order), в прямом порядке (pre-order) и в обратном порядке (post-order).

В приведённом ниже бинарном дереве поиска хранятся названия нескольких книг.

Graphical representation of a binary search tree.

Дерево заранее загружено в переменную bst (строка 15):

bst = CreateTree()

Попробуйте применить обход в симметричном порядке, чтобы названия книг отображались в алфавитном порядке.

Это упражнение является частью курса

Структуры данных и алгоритмы на Python

Посмотреть курс

Инструкции к упражнению

  • Проверьте, существует ли current_node.
  • Рекурсивно вызовите функцию in_order() для соответствующей половины дерева.
  • Выведите значение current_node.
  • Рекурсивно вызовите функцию in_order() для другой половины дерева.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

class BinarySearchTree:
  def __init__(self):
    self.root = None

  def in_order(self, current_node):
    # Check if current_node exists
    if ____:
      # Call recursively with the appropriate half of the tree
      self.in_order(current_node.____)
      # Print the value of the current_node
      print(____)
      # Call recursively with the appropriate half of the tree
      self.in_order(current_node.____)
  
bst = CreateTree()
bst.in_order(bst.root)
Редактировать и запускать код