arbres binaires de recherche sont l'un des types de données abstraits de base conçues en programmation informatique . Grâce à un arbre binaire de recherche , vous pouvez définir une structure de base à travers l'entrée et algorithmes de recherche qui permet la localisation et la récupération de l'information facile et systématique . Comme il s'agit d' un "abstrait" type de données , vous pouvez mettre en œuvre dans une certaine forme , dans la plupart n'importe quel langage de programmation, y compris Python. Création d'une classe pour représenter l'arbre, vous pouvez facilement construire un arbre simple de recherche binaire. Choses que vous devez
interpréteur Python
Afficher plus Instructions
1
créer une classe pour représenter l'arbre. Tout le code tombera dans la manière dont les fonctions d'arbres cette classe et de contrôle:
>>> class BinaryTree :
2
définir les données d'arbres dans la classe . Dans cette classe particulière , vous définissez l'arbre comme une liste Python. La liste dans l'arbre binaire commence avec une taille initiale de 50:
. . . _tree = [-1] * 50
3
créer la fonction d'insertion. Cette fonction utilise mathématique simple pour déterminer les points d'insertion. Il vérifiera chaque spot . Si l'endroit contient un nombre négatif (-1) puis l'endroit est vide et insérer. Sinon, il se déplace à l'endroit suivant. Insertion dans un arbre binaire signifie que les valeurs inférieures se déplacent vers le noeud " de gauche " (2i + 1, où "i" est l'indice de la liste actuelle ) et des valeurs supérieures vais passer au nœud " de droite " (2i +2) :
. . . def insert (self, valeur ) : . . . index = 0. . . tandis que self._tree [index] > = 0: . . . si la valeur > self._tree [index] : . . . index = (2 * index) + 1. . . autre : . . . index = (2 * index) + 2. . . self._tree [index] = valeur
4
créer une fonction de recherche. La fonction de recherche se comporter de façon similaire à la fonction d'insertion , mais vérifie seulement si la valeur existe dans l'arbre :
. . . recherche def (self, valeur ) : . . . index = 0. . . tandis que self._tree [index] > = 0: . . . si self._tree [index] == valeur : . . . renvoie True . . . retourner Faux