Learn Tree Traversal by Building a Binary Search Tree - Step 24

Tell us what’s happening:

I’m not sure what I’m missing here.

Inside the search method, delete pass and call the helper method _search with the following arguments.

self.root: This is the root of the binary search tree. The search starts from the root.
key: This is the value that the user wants to find in the binary search tree.

Your code so far


class TreeNode:

    def __init__(self, key):
        self.key = key
        self.left = None
        self.right = None


class BinarySearchTree:

    def __init__(self):
        self.root = None

    def _insert(self, node, key):
        if node is None:
            return TreeNode(key)

        if key < node.key:
            node.left = self._insert(node.left, key)
        elif key > node.key:

            node.right = self._insert(node.right, key)
        return node

    def insert(self, key):
        self.root = self._insert(self.root, key)
        

# User Editable Region

    def _search(self, node, key):
        if node is None or node.key == key:
            return node
        if key < node.key:
            return self._search(node.left, key)
        return self._search(node.right, key)
    
    def search(self, key):
        _search(self.root,key)

# User Editable Region

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0

Challenge Information:

Learn Tree Traversal by Building a Binary Search Tree - Step 24

Look in previous lines of code for instances where you call internal functions, including _search()

Thank you very much!

1 Like