solucionar tem que ser da melhor maneira otimizando as aplicações facilitando a busca por dados e por consequência complicando a vida de muitos programadores , mas o nosso foco são Arvores Binarias, nesse caso é basicamente a continuação de nossa ultima postagem, arvores são complicadas de se manter, então uma arvore binaria cria uma restrição quanto ao grau, no caso o grau máximo passa a ser 2 e não n grau como foi na nossa ultima postagem, sem mais conversa segue o material :
Árvores Binárias
Definição: São estruturas do tipo árvore com as seguintes características:
- A árvore tem grau 2.
- Cada subárvore é identificada como subárvores esquerda e direita.
- Pode haver uma ordenação entre as subárvores.
Implementação Encadeada
A implementação encadeada de árvore binária tem as seguintes características:
- Usa um estrutura dinâmica com apontadores.
- Cada nó contém os dados e os apontadores para as subárvores esquerda e direita.
A implementação encadeada de árvore binária é mais usada do que a estática porque e mais eficiente em termos de espaço em memória.
Definição de uma árvore binária em pascaltype
ArvoreBinaria = ^No;
No = record
Dado: tipo_do_dado;
Esquerdo,
Direito,
Pai : ArvoreBinaria; end;
ArvoreBinaria = ^No;
No = record
Dado: tipo_do_dado;
Esquerdo,
Direito,
Pai : ArvoreBinaria; end;
O procedimento CriarNo recebe um apontador ArvoreBinaria e o dado que será colocado no nó. Além de alocar uma variável dinâmica para o nó, copia o dado para esta variável e faz com que os apontadores para o pai, para o nó esquerdo e para o nó direito sejam inicializados através do procedimento Inicializar.
A função ExisteNo retorna true se existe um nó na árvore binária passada seguindo pela direção especificada.
O procedimento Deslocar move o apontador do tipo ArvoreBinaria na direção especificada. Se a direção for nó raiz, Deslocar só encerra quando ArvoreBinaria não tiver mais um nó pai.
O procedimento ObterDado coloca em Dado (parâmetro), o valor contido no nó passado.
O procedimento AlterarDado modifica o valor do dado contido no nó passado para o valor passado como parâmetro.
O procedimento AdicionarFilho coloca um novo nó na direção especificada (nó esquerdo ou nó direito) e copia o dado passado para ele.
Fonte : http://200.17.141.213/~alberto/2012-2/ed1/aulas/arvores_binarias.htm
Nenhum comentário:
Postar um comentário