Aan de slagGa gratis aan de slag

Boektitels alfabetisch afdrukken

In deze video heb je drie manieren geleerd om de depth first search-traversal op binaire bomen te implementeren: in-order, pre-order en post-order.

In de volgende binaire zoekboom zijn de titels van enkele boeken opgeslagen.

Grafische weergave van een binaire zoekboom.

De boom is vooraf geladen in de variabele bst (regel 15):

bst = CreateTree()

Kun je de in-order-traversal toepassen zodat de boektitels in alfabetische volgorde verschijnen?

Deze oefening maakt deel uit van de cursus

Datastructuren en algoritmen in Python

Cursus bekijken

Oefeninstructies

  • Controleer of current_node bestaat.
  • Roep de functie in_order() recursief aan op de juiste helft van de boom.
  • Print de waarde van current_node.
  • Roep de functie in_order() recursief aan op de andere helft van de boom.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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)
Code bewerken en uitvoeren