210 likes | 351 Views
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
E N D
Aula 05 – 29/03 Conceito de Árvores – Árvores Binárias
Árvores Conceitos
Á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 • Grafo • Diagramas de inclusão • Diagrama de barras • Representação aninhada • 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: oneide_ls@yahoo.com.br • 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ícios Aula 05 – Exercicios.docx