ПочатиПочніть безкоштовно

Друк назв книжок в алфавітному порядку

У цьому відео ви розглянули три способи обходу бінарних дерев за алгоритмом пошуку в глибину: in-order, pre-order та post-order.

У наведеному нижче бінарному дереві пошуку збережено назви кількох книжок.

Graphical representation of a binary search tree.

Дерево вже створено у змінній bst (рядок 15):

bst = CreateTree()

Чи зможете ви застосувати обхід in-order, щоб назви книжок з'явилися в алфавітному порядку?

Ця вправа є частиною курсу

Структури даних і алгоритми в 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)
Редагувати та запускати код