Documentos

2331 palavras 10 páginas
Projeto de Algoritmos
Home | Prefácio | Livros | Sítios WWW | Índice
As árvores da computação têm a tendência de crescer para baixo: a raiz fica no ar enquanto as folhas se enterram no chão.
— folclore
Árvores binárias
(Veja o verbete Binary tree na Wikipedia.)
Uma árvore binária é uma estrutura de dados mais geral que uma lista encadeada. Este capítulo introduz as operações mais simples sobre árvores binárias. O capítulo seguinte trata de uma aplicação básica.
Nós e filhos
Uma árvore binária (= binary tree) é um conjunto de registros que satisfaz certas condições. (As condições não serão dadas explicitamente, mas elas ficarão implicitamente claras no contexto.) Os registros serão chamados nós (poderiam também ser chamados células). Cada nó tem um endereço. Suporemos por enquanto que cada nó tem três campos: um número inteiro e dois ponteiros para nós. Os nós podem, então, ser definidos assim: struct cel { int conteudo; /* conteúdo */ struct cel *esq; struct cel *dir;
};
typedef struct cel no; /* nó */ conteudo
999

esq dir O campo conteudo é a "carga útil" do nó; os outros dois campos servem apenas para dar estrutura à árvore. O campo esq de todo nó contém o endereço de outro nó ou NULL. A mesma hipótese vale para o campo dir. Se o campo esq de um nó X é o endereço de um nó Y, diremos que Y é o filho esquerdo de X. Analogamente, se X.dir é igual a &Y então Y é o filho direito de X.
Se um nó Y é filho (esquerdo ou direito) de X, diremos que X é o pai de Y. Uma folha (= leaf) é um nó que não tem filho algum.
É muito conveniente confundir cada nó com seu endereço. Assim, se x é um ponteiro para um nó (ou seja, se x é do tipo *no), dizemos simplesmente "considere o nó x" em lugar de "considere o nó cujo endereço é x".
Árvores e subárvores
Suponha que x é (o endereço de) um nó. Um descendente de x é qualquer nó que possa ser alcançada pela

Relacionados

  • Documentos
    1848 palavras | 8 páginas
  • Documentos
    4386 palavras | 18 páginas
  • documento
    1248 palavras | 5 páginas
  • Documentos
    282 palavras | 2 páginas
  • Documentos
    298 palavras | 2 páginas
  • Documento
    1876 palavras | 8 páginas
  • Documentos
    11188 palavras | 45 páginas
  • Meus Documentos
    803 palavras | 4 páginas
  • Documento
    276 palavras | 2 páginas
  • ..documentos
    274 palavras | 2 páginas