árvores binárias de pesquisa são um dos tipos de dados abstratos básicos concebidos em programação de computadores. Através de uma árvore de busca binária , você pode definir uma estrutura básica por meio de entrada e de busca algoritmos que torna a localização e recuperação de informações fácil e sistemática. Uma vez que é um "abstrato" tipo de dados , você pode implementá-lo de alguma forma em mais qualquer linguagem de programação , incluindo Python. Criando uma classe para representar a árvore, você pode facilmente construir uma simples árvore de busca binária . Coisas que você precisa 
 interpretador Python 
 Mostrar Mais instruções 
 1 
 Crie uma classe para representar a árvore. Todo o código vai cair nessa classe e controlar a forma como as funções de árvores : 
 
 >>> class BinaryTree : 
 2 
 Definir os dados de árvores na classe. Nesta aula particular, você define a árvore como uma lista Python. A lista na árvore binária começa com um tamanho inicial de 50: 
 
 . . . _tree = [-1] * 50 
 3 
 Criar a função de inserção. Esta função usa matemática simples para determinar os pontos de inserção. Ele irá verificar cada ponto . Se o local contém um número negativo ( -1 ), então o local está vazio e pode ser inserido. Se não, ele se move para o próximo ponto . A inserção em uma árvore binária significa que os valores menores irá se mover para o nó " mão esquerda" ( 2i + 1 , onde " i" é o índice de lista atual ) e os maiores valores se moverá para o nó " da direita " ( 2i +2): 
 
 . . . def insere (self, valor): . . . index = 0 . . . enquanto self._tree [ índice ]> = 0: . . . se o valor > self._tree [ índice ] : . . . index = (index 2 *) + 1. . . mais: . . . index = (index 2 *) + 2. . . self._tree [ índice ] = valor 
 4 
 Criar uma função de pesquisa . A função de busca vai se comportar de forma semelhante à função de inserção , mas só irá verificar se o valor existe na árvore : 
 
 . . . def busca (self, valor): . . . index = 0 . . . enquanto self._tree [ índice ]> = 0: . . . se o valor self._tree [index] == : . . . retornar True . . . retornar Falso