Programação II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Programação II – Prof. Mateus Raeder Árvores Não são estruturas como as listas –Ou seja, não são estruturas lineares Árvores são estruturas hierárquicas São utilizadas para representar: –sistemas de arquivos –interfaces gráficas (organização dos menus, por exemplo) –organização das páginas de um site –partidas de um torneio –organização de cargos ou setores de uma empresa –forma de avaliação de expressões aritméticas, etc.
Programação II – Prof. Mateus Raeder Árvores Exemplos de utilização de árvores –Sistema de arquivos C:\ Músicas:\Unisinos:\Jogos:\ Calipso:\Belo:\Prog_II:\ Lista_01:\ Lista_02:\
Programação II – Prof. Mateus Raeder Árvores Exemplos de utilização de árvores –Hierarquia de classes Figura Triangulo Quadrado Circulo EquiláteroIsósceles Trapézio Escaleno
Programação II – Prof. Mateus Raeder Árvores Exemplos de utilização de árvores –Hierarquia de classes Bebida AlcoólicaNão-alcoólica CervejaWhiskyGin SkolBohemiaPolar
Programação II – Prof. Mateus Raeder Árvores Exemplos de utilização de árvores –Árvores de derivação - + 5x + 12y (5 + x) – (12 + y)
Programação II – Prof. Mateus Raeder Árvores Exemplos de utilização de árvores –Ordenar valores
Programação II – Prof. Mateus Raeder Árvores Terminologia A BC FGDE Raiz
Programação II – Prof. Mateus Raeder Árvores Terminologia A BC FGDE Sub-árvore
Programação II – Prof. Mateus Raeder Árvores Que árvore é esta? Uma árvore sem nós é uma árvore vazia
Programação II – Prof. Mateus Raeder Árvores Definição de árvore –Uma árvore enraizada T (ou simplesmente uma árvore) é um conjunto finito de elementos denominados nós ou vértices tais que: T = 0 é a árvore dita vazia ou existe um nó especial r, chamado raiz de T os restantes constituem um único conjunto vazio ou são divididos em m conjuntos distintos não vazios que são as sub- árvores de r cada sub-árvore é, por sua vez, uma árvore
Programação II – Prof. Mateus Raeder Árvores Terminologia –Considere o nodo “O” P O I F “P” é dito PAI de “O” “I” é dito IRMÃO de “O” “F” é dito FILHO de “O”
Programação II – Prof. Mateus Raeder Árvores Terminologia – GRAU de um nó: é o número de sub-árvores que ele possui – FOLHA (ou Terminal): é um nó com grau igual a 0 – GRAU DA ÁRVORE : grau máximo entre os nós A BD FG HI C E Grau 3 Grau 0 C E H C E I H C E G I H C E Grau 1 Grau 2 = Folhas
Programação II – Prof. Mateus Raeder Árvores Terminologia – FLORESTA : um conjunto de árvores disjuntas B E A BDC D FG HI A BC D Árvore 1 Árvore 2 Árvore 3 Árvore 4
Programação II – Prof. Mateus Raeder Árvores Terminologia –Pode existir uma Floresta vazia? Árvore 1 Árvore 2 Árvore 3 Árvore 4
Programação II – Prof. Mateus Raeder Árvores Terminologia – CAMINHO : sequência de nós distintos, tal que existem sempre nós consecutivos que possuam entre si a relação “é filho de” ou “é pai de” – COMPRIMENTO do caminho? A BC DE F G - A alcança G - G é alcançado por A - Comprimento: 3 Número de nós no caminho - 1
Programação II – Prof. Mateus Raeder Árvores Terminologia – NÍVEL de um nó: número de nós entre ele e a raiz (contando ele próprio) – ALTURA (ou Profundidade) da árvore: é o seu maior nível A BC D E F G Nível 1 Nível 2 Nível 3 Nível 4 ALTURA = 4
Programação II – Prof. Mateus Raeder Árvores Operações básicas sobre árvores –criação da árvore –inserção de um novo nodo a raiz como folha em posição intermediária –exclusão de um determinado nodo –acesso a um nodo determinar forma de percorrer a árvore –destruição da árvore A BC DE FG HI