Bit (Binary Digit) é a menor unidade de armazenamento de informação dentro do computador; Byte é a união de 8 bits capaz de representar 256

Documentos relacionados
O que é um jogo digital?

Estrutura de Dados: Aula 3 - Linguagem C

Dicionários. TAD Orientado a conteúdo

Pilhas. ser acessada somente por uma de suas extremidades. pelo topo. S Uma pilha é uma estrutura linear de dados que pode

Estrutura de Dados e Arquivos Ementa Objetivo Geral Conteúdo Avaliação

Estrutura de Dados II

Capítulo 8: Abstrações de dados

Edital de Seleção 023/2018 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões

Unidade: Tabela Hash e Grafos. Unidade I:

TCC Prof.: Leandro A. F. Fernandes Conteúdo: Listas Lineares

Tabela Hash. Prof. Msc. Mariella Berger

ICET CURSO: Ciência da Computação e Sistemas de Informação (Estrutura de Dados) Estudos Disciplinares Campus: Data: / / Nome:

Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Algoritmos e Estruturas de Dados II Prof. Fabrício Sérgio de Paula

# Estrutura de Dados # Aula 06 Pilhas Estáticas. Prof. Leinylson Fontinele Pereira

ÁRVORES E ÁRVORE BINÁRIA DE BUSCA

Unidade: Estruturas de Dados Não Lineares. Unidade I:

Estrutura de Dados. Estrutura de Dados Recursividade. Exemplo: 5! = 5 x 4! 4! = 4 x 3! 3! = 3 X 2! 2! = 2 x 1! 1! = 1 x 0!

Algoritmos e Estruturas de Dados II IEC013. TAD, Pilhas e Filas. Prof. César Melo

Exercícios: Árvores. Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de estrutura de dados em linguagem C

Estrutura de Dados. Unidade VI. -Tabela Hash -Grafos. Prof. Ms. Amilton Souza Martha

Edital de Seleção 024/2017 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões

S U M Á R I O. Definição de Estrutura de Dados. Vetores. Listas Ligadas. Pilhas. Filas

Estrutura de Dados. Aleardo Manacero Jr.

Árvores de Pesquisa (Parte II)

Estruturas de Dados. Prof.: Carlos Alberto Página da Disciplina:

Classificação e Pesquisa

Pilhas e Filas. Nádia Félix e Hebert Coelho

Aula 07: Algoritmos de busca e Listas encadeadas

ASSOCIAÇÃO PARAIBANA DE ENSINO RENOVADO FACULDADE PARAIBANA DE PROCESSAMENTO DE DADOS ESTRUTURA DE DADOS

AVALIAÇÃO DE CONHECIMENTO ESPECÍFICO

Edital de Seleção 053/2016 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões

Árvores. SCC-214 Projeto de Algoritmos. Thiago A. S. Pardo. Um nó após o outro, adjacentes Sem relações hierárquicas entre os nós, em geral

Estruturas de Dados Filas

Árvores - Conceitos. Roseli Ap. Francelin Romero

Tabelas de dispersão/hash

Tabela Hash. Disciplina de Algoritmos e Estrutura de Dados III. Prof. Marcos Antonio Schreiner 15/05/2015

AED1 - Árvores. Hebert Coelho. Instituto de Informática Universidade Federal de Goiás. HC AED1-Árvores 1/49

A Invenção da B-Tree. Árvores B Parte I. Problema. Problema. Árvores Binárias de Busca. Árvores Binárias de Busca. Introdução

Dados Gerais. Conteúdo. Tipos de Dados. Profa. Renata de Matos Galante

Árvores. Fabio Gagliardi Cozman. PMR2300 Escola Politécnica da Universidade de São Paulo

A Invenção da B-Tree. Árvores B Parte I. Problema. Problema. Introdução. Leandro C. Cintra Maria Cristina F. de Oliveira. Solução?

Edital de Seleção 016/2018 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões

Aula 7 e 8 Filas e suas Aplicações. Prof. Leticia Winkler

Estruturas de dados. -Lista ligada -Pilha -Fila -Árvore -Hashtable

Edital de Seleção 032/2016 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões

Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo

Árvores de Pesquisa (Parte II)

Estrutura de Dados. Carlos Eduardo Batista. Centro de Informática - UFPB

Árvores & Árvores Binárias

Edital de Seleção 055/2017 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões

Pesquisa em memória primária

AULA 00 Estrutura de Dados Professor Pedro Henrique Chagas Freitas

Estruturas de Dados Encadeadas

PLANO DE DISCIPLINA DISCIPLINA: Algoritmos e Programação

Web site. Profa. Patrícia Dockhorn Costa.

PLANO DE DISCIPLINA DISCIPLINA: Algoritmos e Programação

(a) I (b) I e II (c) II (d) II e III (e) I, II e III

Estruturas de Dados Pilhas, Filas, Listas

Árvores Binárias e AVL Felipe Barros Pontes Gustavo Márcio de Morais Cunha Márcio de Medeiros Ribeiro

AULA 00 Programação Estrutura de Dados e Algoritmos Professor Pedro Henrique Chagas Freitas

Árvores Rubro-Negras. Árvores Rubro-Negras. (Vermelho-Preta) Estrutura da Árvore. Estrutura da Árvore

Capítulo 20. Estruturas de Dados Dinâmicas. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Algoritmos e Estrutura de Dados II. Árvore. Prof a Karina Oliveira.

Informática Parte 18 Prof. Márcio Hunecke

CES-11. Pilhas Definição Operações Filas. Operações Deques. Definição. Operações

Árvores. Estruturas de Dados. Prof. Vilson Heck Junior

Estruturas de Dados Aula 1: Introdução e conceitos básicos 28/02/2011

Estruturas de Dados Aula 11: TAD Pilha

10.1. Aula 10: Pilhas. O conceito de pilha. Algoritmos de inserção e remoção. Exemplo: Notação Polonesa

Árvore-B. Árvore B. Características Gerais. Sistemas de Banco de Dados. Características Gerais. Revisão

Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo

Estrutura de Dados. Diego Silveira Costa Nascimento

TAD dicionário. Métodos do TAD dicionário:

1 OBJETIVOS 2 HORÁRIO DE AULAS 3 PROGRAMA

Aplicações de listas Outras estruturas

Árvores-B (Parte Ia) SCC-203 Algoritmos e Estruturas de Dados II. Graça Nunes

Prova 2 PMR2300 1o. semestre 2015 Prof. Thiago Martins

Árvores Conceitos gerais

- UNIVERSIDADE DO VALE DO RIO DOS SINOS CIÊNCIAS EXATAS E TECNOLÓGICAS Curso: Informática / Ciência da Computação

UNIVERSIDADE DA BEIRA INTERIOR

Estrutura de Dados. Carlos Eduardo Batista. Centro de Informática - UFPB

ÁRVORES. Prof. Yan ndre Maldonado - 1. Prof. Yandre Maldonado e Gomes da Costa

Prova 2 PMR3201 1o. semestre 2015 Prof. Thiago Martins

Árvores. SCC-202 Algoritmos e Estruturas de Dados I. Lucas Antiqueira

Pilhas Acesso. Pilha. Fila. Listas lineares especiais. Pilhas e Filas. Listas lineares especiais mais usuais. Disciplina restrita

Árvores-B (Parte Ib) SCC-203 Algoritmos e Estruturas de Dados II. Graça Nunes

Árvores Binárias de Busca (ABB) 18/11

Estrutura de dados - Listas Encadeadas

UNIVERSIDADE DE SÃO PAULO ICMC SCC 202 Algoritmos e Estrutura de Dados I - 2º Semestre 2010 Profa. Sandra Maria Aluísio;

Árvores Binárias de Busca (ABB) 18/11

Banco de Dados. Módulo 15 - Estruturas de Indexação

INF Prof. Daltro José Nunes Profa. Renata de Matos Galante. Estruturas de Dados. tica

Estruturas de Dados Pilhas, Filas, Listas

Estrutura de Dados. Carlos Eduardo Batista. Centro de Informática - UFPB

Algoritmos e Estruturas de Dados II IEC013

Slide 01 16/03/2017. Estruturas de Dados. Prof. Cleziel Franzoni da /Cleziel.

Teoria da Computação. Aula 9 Pesquisa em Memória Secundária 5COP096. Aula 9 Prof. Dr. Sylvio Barbon Junior. Sylvio Barbon Jr

Universidade de São Paulo

Universidade Federal de Mato Grosso Estrutura de Dados II

Transcrição:

Bit (Binary Digit) é a menor unidade de armazenamento de informação dentro do computador; Byte é a união de 8 bits capaz de representar 256 informações diferentes; Tipos Primitivos são implementados nas linguagens de programação (inteiro, real, caracter, lógico e ponteiro); Tipos Estruturados: estruturas criadas a partir de tipos primitivos; Tipos Abstratos de Dados (TAD): estruturas heterogêneas criadas a partir dos tipos anteriores

É um TAD que representa uma coleção de elementos cuja característica é a posição relativa entre seus elementos. Sabemos onde começa e termina a lista; Não existe nenhum elemento antes do primeiro e nem depois do último; Existe uma ordem entre os elementos, assim sabemos que o 5º elemento está entre o 4º e o 6º. Alocação Estática Alocação Sequencial Alocação Dinâmica Alocação Encadeada

Tipo especial de Lista Linear onde as inserções e remoções são feitas pela mesma extremidade TOPO Estrutura do tipo LIFO (Last In, First Out); Podemos implementar com alocação estática-sequencial ou dinâmica encadeada; Push: insere um elemento no topo da pilha Pop: remove um elemento do topo da pilha Top: acessa o elemento que está no topo da pilha

Usada em situações onde a ordem de entrada é o contrário da ordem de saída (LIFO) Controle de Retorno de Subrotinas: Rotina B Rotina C S.O. Rotina A Rotina C Avaliação de Expressões (Notação Polonesa Reversa):

Tipos de Lista Linear onde as inserções são feitas em uma extremidade (fim) e as remoções na outra (começo); Podem ser implementadas com alocação estática-sequencial ou dinâmica encadeada; Ordem de entrada é a mesma ordem de saída (FIFO First-In/First- Out). Métodos principais: Enqueue insere no fim da Fila Dequeue remove do início da Fila Aplicação de Filas Simulação de Atendimentos (FIFO) Colorir Regiões Gráficas

Estrutura auto-ajustável de modo que a cada inserção ou remoção a estrutura continua ordenada; Como a inserção e remoção no meio da estrutura é inevitável, a implementação com alocação estática sequencial é inviável, melhor realizada com alocação dinâmica encadeada; Aplicações de Listas Ordenadas Sistemas onde os elementos precisam estar sempre ordenados Variáveis Polinômio 3x 5 + 2x² - 5x + 1

Recursividade: Um algoritmo que para resolver um problema divide-o em subproblemas mais simples, cujas soluções requerem a aplicação dele mesmo, é chamado recursivo. Árvores: Conjunto finito de n > = 0 nós. Se n = 0, temos uma árvore nula. Se n > 0, temos uma árvore com as seguintes características: 1. Existe um nó especial chamado raiz 2. Os demais são particionados em T 1, T 2,..., T k estruturas disjuntas de árvores (garantindo que um nó não aparecerá em mais de uma subárvore); 3. As estruturas T 1, T 2,..., T k denominam-se árvores.

Elementos menores que a raiz devem ser armazenados na subárvore esquerda e os outros na subárvore direita Veja a inserção dos elementos h, a, b, c, i e j Temos 3 possibilidades para remoção de nós, quando o nó a ser removida não tem filhos, quando tem apenas um e quando tem 2 filhos. A) Nó sem filhos: Nesse caso, podemos apenas excluir o nó; B) Nó tem apenas um filho: Nesse caso, o seu único filho irá substituir o nó que foi excluído; C) Nó tem 2 filhos: Nesse caso, temos que eleger algum descendente que irá substituir o nó a ser excluído. Apesar de os candidatos poderem ser o maior valor da subárvore esquerda ou o menor da subárvore direita, usaremos sempre o maior da esquerda.

A grande vantagem das árvores de busca binária é a rapidez na busca, porém, isso é perdido se não estiverem balanceadas; Árvore AVL possui balanceamento dinâmico onde a cada inserção ou remoção a árvore é rebalanceada usando rotações: a) RSE (Rotação Simples para a Esquerda) Seqüência: 1-2-3 b) RSD (Rotação Simples para a Direita) Seqüência: 3-2-1 c) RDE (Rotação Dupla para a Esquerda) Seqüência: 1-3-2 d) RDD (Rotação Dupla para a Direita) Seqüência: 3-1-2

Para acessar memória secundária, algoritmos como ABB e AVL não são tão eficientes pois a cada acesso só trazem um elemento; Árvores M-vias ou multivias implementam agrupamento de chaves em um mesmo nó ou página; Uma árvore B é uma árvore M-vias constantemente balanceada proposta por Bayer and McGreight em1972; Utilizada para criação de índices de arquivos de dados Ordem da árvore B (t): define a quantidade de chaves dentro de um nó Número mínimo de chaves (exceto raiz): t-1 Número máximo de chaves: 2t-1

Os elementos são inseridos, removidos ou pesquisados em uma posição determinada por uma função de hashing (Hash Code), que conforme uma chave de entrada, determina qual a posição do elemento deve seguir. Quando uma função de hashing gera o mesmo Hash Code para duas ou mais chaves distintas, temos uma colisão. Podemos tratar colisões de 2 formas: Closed Address Hashing (endereçamento fechado) Também chamado de Hashing encadeado, onde cada entrada da tabela é uma lista encadeada, onde a cada colisão os elementos são inseridos dinamicamente Open Address Hashing (endereçamento aberto) Todas as chaves são armazenadas dentro da tabela Hash. Quando há uma colisão, há um processo de rehashing para calcular um novo Hash Code para o elemento. Podemos usar 2 técnicas Rehashing por linear probing Rehashing por double hashing

Estrutura de Dados baseada em nós onde cada nó (vértice) pode se conectar a qualquer outro (até à ele mesmo) através de arestas. Em um AFD, para cada símbolo de entrada (ação) só existe uma transição de estado possível Exemplo: Autômato que reconhece a linguagem de números binários com quantidade ímpar de 1s. M = (, Q,, qo, F) Q = { qo, q1 }, = { 0, 1 }, F = { q1 } Forma Tabular : Forma Gráfica : 0 1 q o q 1 q o q 1 q 1 q o q q 1 o 0 1 0

Responsável pelo Conteúdo: Prof. Ms. Amilton Souza Martha www.cruzeirodosulvirtual.com.br Campus Liberdade R. Galvão Bueno, 868 01506-000 São Paulo SP Brasil Tel: (55 11) 3385-3000