Aula 05 – 29/03 Conceito de Árvores – Árvores Binárias.

21
Aula 05 – 29/03 Conceito de Árvores – Árvores Binárias

Transcript of Aula 05 – 29/03 Conceito de Árvores – Árvores Binárias.

Aula 05 – 29/03Conceito de Árvores – Árvores Binárias

Continuação exercício 2 e 3 da aula 04

ÁrvoresConceitos

Árvores de dados

• Ate o momento estudamos estruturas que possuem relacionamentos lineares representados através de listas sequenciais e listas encadeadas• Árvores são conjunto de nós que utilizam relacionamentos

hierárquicos entre seus nodos(itens).• Algoritmos que operam sobre arvores utilizam recursividade• Árvores são grafos conectados sem ciclos• São estruturas muito eficientes utilizadas em mecanismos de

armazenamento de dados pois são muito eficientes no acesso e busca.

• São utilizadas em estruturas de banco de dados, redes de computadores, compiladores e usado para representar expressões matemáticas• Um exemplo muito comum de árvores e a estrutura de diretórios e

arquivos.

Formas de representação de árvores

(a) Grafo(b) Diagramas de inclusão(c) Diagrama de barras(d) Representação aninhada(e) Numeração por Níveis

Terminologias utilizadas

• Raiz: E o principal nodo de um árvore ao qual todos estão subordinados.

• Subárvore: E o conjunto de nodos subordinados a um nodo da arvores. Cada subarvore é uma arvore.• Subarvores A e F

• Grau de um nodo: E o número máximo de sub arvores subordinado a um nodo• Nó C = 3, nó E = 0

• Grau de uma arvore: É o maior valor do grau de todos os seu nós.• Grau da árvore e 3

• Folha: São os nodos de grau 0, que não tem descendentes. São conhecidos também como nós terminais.• As folhas são B, G, H, E, I.

• Nível de um nodo: E o número de ligação entre o nodo e a raiz da arvore. A raiz sempre tem nível 1.• Nível 2 - O3, O4 e S4

• Caminho: É a sequência de nós consecutivos e distintos entre dois nós.• Caminho de A até F é A-C-E-F.

• Comprimento do caminho: É o número de níveis menos um entre dois nodos.• Comprimento do caminho A até F é 3.

• Altura ou comprimento de uma árvore: É comprimento de um nodo até um das folhas. Todas as folhas possuem altura igual a 1.• Altura do nodo A é 4, B é 1, C é 3 D = 1 E = 2 F = 1

Aplicações

• Arvores de decisões: programas que precisam elaboras estratégias complexas para tomada de decisão• Analise de frases: Utilizar para análise frases de um texto, um

exemplo é o uso remissivos, separação de frases por tipos, aplicação para identificar o contexto de frases.• Inteligência artificial onde se deseja chegar à conclusão de verdadeiro

ou false baseados em contexto.• Algoritmos de manipulação, pesquisa e indexação de registros em

banco de dados.• Analise de caminho mais curto, o Google Maps é um exemplo disso.

Case – Busca dados no Facebook

• Algoritmo desenvolvido por Oneide Luiz Schneider – Pós Graduando UTFPR• Contato: [email protected]• https://github.com/oneidewarrior/FacebookRestFB-Example-FRE• Objetivo: Trazer todos o meus amigos do facebook e os amigos em

comum com os amigos dos meus amigos. Devemos saber quais amigos eu tenho em comum com um determinado amigo meu.

• Usa uma estrutura de árvores grafo

• Projeto esta feito em Java usando a biblioteca restfb• Gera um token de acesso na pagina de developers do facebook• Implementa o algoritmo para download e grava em um DB(NoSQL)

com a estrutura arvore grafo• Explorar os dados:• Localizar as cidades que foram visitadas nos últimos 30 dias• Verificar quais assuntos tem em comum com base nos compartilhamentos

ExercíciosAula 05 – Exercicios.docx