Você está na página 1de 4

Estrutura de Dados rvore 1. Introduo rvores so estruturas de dados teis em vrias aplicaes.

icaes. Trataremos rvores basicamente como estruturas de dados ao invs de como tipos de dados (entidades matemticas abstratas). Mostraremos como rvores podem ser representadas numa linguagem de programao. Focalizaremos a implementao e no a definio matemtica (conhecimento terico) Uma rvore na verdade, uma instncia de uma categoria mais geral grafo.

2. Definio Intuitiva Uma rvore uma coleo de elementos chamados NS ou NODOS, estruturados segundo uma relao de parentesco. Um destes ns denominado RAIZ. Graficamente:

PAI

Filho1

Filho2

Filho3

Neto1

Neto2

Neto3

Observao: rvores so pequenas no topo e grandes na base. Comparando-se com rvores reais apresentam-se invertidas.

3. Aplicaes Oferecem uma organizao natural para os dados, tais como: o Estrutura hierrquica de arquivos em um sistema de computador Ex: C:\ raiz da rvore Os diretrios um nvel abaixo do diretrio raiz so seus filhos; pode haver muitos nveis de subdiretrios; os arquivos representam folhas; eles no tm nenhum filho. Um caminho completo como: C:\estruturas\ed2\aulas\arvores.doc corresponde ao caminho da raiz at a folha arvores.doc o Interfaces grficas com usurios o Bancos de dados o Pginas na internet Em todas as aplicaes de rvores, observa-se a representao de hierarquia: o rvores genealgicas o Organogramas de empresas o Execuo de jogos por computador Ex: Programas para determinar o melhor movimento a partir de determinada posio de tabuleiro: jogo da velha, xadrez, damas, etc. o Representao de frmulas matemticas o Estruturas sintticas de linguagens.

4. Definio Formal Uma rvore uma coleo finita de N >= 0 ns. Se N=0, dizemos que a rvore vazia, caso contrrio, uma rvore apresenta as seguintes caractersticas: o Existe um N especial denominado RAIZ. o Os demais ns so particionados em T1, T2, ..., TK estruturas disjuntas de rvores. o As estruturas T1, T2, ..., TK denominam-se subrvores. o Exemplo (prxima pgina)

Observao: Em programas de computador, ns geralmente representam entidades como pessoas, reservas de vos, ou seja, os itens tpicos que armazenamos em qualquer tipo de estrutura de dados. Em uma linguagem POO como Java, essas entidades do mundo real so representadas por objetos. Cada uma das estruturas Ti organizada na forma de rvore isto caracteriza uma definio RECURSIVA (como listas). As linhas entre os ns representam o modo como os ns esto relacionados; as linhas representam convenincia: ser fcil e rpido para um programa ir de um n para outro se houver uma linha conectando-os. Em um programa Java as linhas (arcos ou arestas) devem ser representadas por referncias.

RAIZ

j T3

T1

T2 T1, T2, T3 Subrvores disjuntas nenhum n aparece em mais de uma subrvore ao mesmo tempo N = 13 (nmero de ns) O n a tem 03 subrvores: T1, T2, T3 Um n que no possui subrvores denomina-se TERMINAL ou FOLHA e, k, g, l, m, i, j Os demais ns so NO TERMINAIS As razes das subrvores de um n denominam-se FILHOS do n que o PAI delas. Ex: os filhos do n b so e, f, g; h pai de l e m Filhos do mesmo pai denominam-se IRMOS O nmero de subrvores de um n denomina-se GRAU Grau da rvore: mximo dos graus de todos os ns

CAMINHO: uma seqncia de ns N1, N2, ..., Nk onde Ni ancestral de Ni+1, com i = 1, 2, ..., k-1, t.q. Nk-1 ancestral de Nk 5. rvores Binrias 5.1 Definio um conjunto finito de ns que pode ser particionado em 03 subconjuntos disjuntos: o primeiro contm um nico elemento chamado RAIZ; os outros 02 subconjuntos so tambm rvores binrias chamadas SUBRVORE ESQUERDA E DIREITA da rvore original. Estas podem estar vazias.

5.2 rvore Estritamente Binria Todo n no-terminal deve ter subrvores esquerda e direita no vazias. 5.3 Nvel dos Ns O nvel da raiz zero e dos demais ns o nvel do pai + 1 O nvel de um n refere-se a quantas geraes o n est da raiz

5.4 Altura de um N o mais longo caminho do n a uma folha. 5.5 Profundidade da rvore a altura da raiz (o mais longo caminho da raiz a uma folha) 5.6 rvore Binria Completa uma rvore estritamente binria, onde todas as folhas esto no mesmo nvel. 5.7 Operaes em rvores Binrias Seja p uma referncia para um n N. Tem-se: info(p) retorna a informao contida no n N referenciado por p esq(p) retorna a referncia para o n esquerda de N dir(p) retorna a referncia para o n direita de N irmo(p) retorna a referncia para o irmo de N pai(p) retorna a referncia para o pai de N

Você também pode gostar