Estou aprendendo python agora e a melhor maneira de aprender é praticando.
Por isso eu estou estudando a cadeira de estrutura de dados usando essa linguagem. Estou nesse momento desenvolvendo uma árvore B+ e o que eu fiz foi criar uma classe em python e nessa classe existem variaveis que guardam outras classes. Dessa maneira tem como fazer
Vou mostrar um exemplo de uma simples árvore binária:
Definição da classe Arvore. Ela guarda duas variáveis que por sua vez guardam instancias de outras classes Arvore funcionando então como um ponteiro.
class Arvore:
# Aqui estao os "ponteiros" para cada no filho
dir = None
esq = None
info = None
def __init__(self, info):
self.info = info
Definindo o procedimento em ordem que percorre toda a ávore.
Fiz esse procedimento para mostrar que isso realmente funciona
def EmOrdem(raiz):
if (raiz != None):
EmOrdem(raiz.esq)
print raiz.info, # A virgula no final eh para nao haver quebra de linha
EmOrdem(raiz.dir)
Montando a ávore para poder usar o exemplo.
A árvore ficaria assim (desconsidere as setas
azul):
raiz = Arvore("D")
raiz.esq = Arvore("B")
raiz.dir = Arvore("E")
raiz.esq.esq = Arvore("A")
raiz.esq.dir = Arvore("C")
Chamando o procedimento EmOrdem e passando a raiz da árvore como parâmetro
EmOrdem(raiz)
Saída:
A B C D E