Aula 05 – 29/03

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

description

Aula 05 – 29/03. Conceito de Árvores – Árvores Binárias. Continuação exercício 2 e 3 da aula 04. Árvores. Conceitos. Árvores de dados. Ate o momento estudamos estruturas que possuem relacionamentos lineares representados através de listas sequenciais e listas encadeadas - PowerPoint PPT Presentation

Transcript of Aula 05 – 29/03

Page 1: Aula 05 – 29/03

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

Page 2: Aula 05 – 29/03

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

Page 3: Aula 05 – 29/03

ÁrvoresConceitos

Page 4: Aula 05 – 29/03

Á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.

Page 5: Aula 05 – 29/03

• 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.

Page 6: Aula 05 – 29/03

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

Page 7: Aula 05 – 29/03

Terminologias utilizadas

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

Page 8: Aula 05 – 29/03

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

Page 9: Aula 05 – 29/03

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

Page 10: Aula 05 – 29/03

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

Page 11: Aula 05 – 29/03

• 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.

Page 12: Aula 05 – 29/03

• 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

Page 13: Aula 05 – 29/03

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

Page 14: Aula 05 – 29/03

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

Page 15: Aula 05 – 29/03

• 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

Page 16: Aula 05 – 29/03

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.

Page 17: Aula 05 – 29/03

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.

Page 18: Aula 05 – 29/03

• 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

Page 19: Aula 05 – 29/03
Page 20: Aula 05 – 29/03
Page 21: Aula 05 – 29/03

ExercíciosAula 05 – Exercicios.docx