class Node:
'''represents a new node in the BST'''
def __init__(self,key):
self.key=key
self.disconnect()
def disconnect(self):
self.left=None;
self.right=None;
self.parent=None;
def __str__(self):
return 'node with kay %s'%self.key
class BST:
def __init__(self):
self.root=None
def insert(self,t):
'''inserts a new element into the tree'''
self.find_place(self.root,t)
def find_place(self,node,key):
"""finds the right place of the element recursively"""
if node is None:
node=Node(key)
print node
else:
if node.key > key:
find_place(node.left,key)
else:
find_place(node.right,key)
def test():
'''function to test if the BST is working correctly'''
J'ai écrit le code ci-dessus pour implémenter un arbre de recherche binaire mais la méthode insert ne fonctionne pas comme prévu, elle ne parvient même pas à ajouter l'élément racine. Je ne peux pas comprendre la cause.L'arbre de recherche binaire en python ne fonctionnait pas
Voir http://stackoverflow.com/questions/3058665/represent-binary-search-trees-in-python – gimel