Questo è un codice trovato su wikipedia in materia di BST:
# 'node' refers to the parent-node in this case
def search_binary_tree(node, key):
if node is None:
return None # key not found
if key < node.key:
return search_binary_tree(node.leftChild, key)
elif key > node.key:
return search_binary_tree(node.rightChild, key)
else: # key is equal to node key
return node.value # found key
Ora qui è un albero binario:
10
5 12
3 8 9 14
4 11
Se io sono alla ricerca di 11, e seguo l'algoritmo lassù, comincio con 10, vado a destra a 12, e poi a sinistra a 9. E raggiungo la fine della struttura senza trovare 11. Ma 11 Esiste in mio albero , è solo sul lato opposto.
Si può spiegare quali sono le restrizioni in un albero binario di questo algoritmo per lavorare sul mio albero?
Grazie.













