Pesquisa: localização de um Registo num Ficheiro (para aceder ao registo: ler/alterar informação) R. P. António Viera, 23. R. Carlos Seixas, 9, 6º

Tamanho: px
Começar a partir da página:

Download "Pesquisa: localização de um Registo num Ficheiro (para aceder ao registo: ler/alterar informação) R. P. António Viera, 23. R. Carlos Seixas, 9, 6º"

Transcrição

1 Pesquisa Pesquisa: localização de um Registo num Ficheiro (para aceder ao registo: ler/alterar informação) Ficheiro (ou tabela) Campos Nome Endereço Telefone Antunes, João A. R. P. António Viera, Baptista, Vitor C. R. Carlos Seixas, 9, 6º Melo, Eurico R. Quinta Nova, L12, B Registos Pereira, Maria A. Lrg. da Portagem, 12, 4º Silva, José A. R. das Padeira, 23, 3º Ficheiro de tamanho n: sequência de n items r(1), r(2), r(3)... r(n) designados por registos Registos: divididos em campos (no ex: nome, endereço, telefone) António José Mendes - Programação e Algoritmos II 210 Chave A cada registo está associada uma chave, que serve para diferenciar os registos; A associação de uma chave a um registo pode ser simples ou complexa; Na sua forma mais simples, a chave consiste num dos campos do registo; Uma outra alternativa consiste numa tabela separada contendo as chaves e os ponteiros para os registos respectivos. Chave primária: quando todos os registos têm uma chave diferente Chave secundária: quando há mais do que um registo com a mesma chave António José Mendes - Programação e Algoritmos II 211 1

2 Algoritmos de pesquisa Algoritmo de pesquisa: aceita uma chave a e tenta encontrar um registo cuja chave seja igual a a. Todo o registo, ou Devolve Um ponteiro para o registo, ou Registo vazio ou ponteiro nulo no caso de não ter sido encontrado nenhum registo para a chave fornecida Algoritmo de pesquisa e inserção: no caso da pesquisa não ser bem sucedida insere na tabela o registo correspondente à chave pesquisada. António José Mendes - Programação e Algoritmos II 212 Organização dos ficheiros Os ficheiros (ou tabelas) podem estar organizados de diversas formas: array lista ligada árvore outras... Em regra, uma dada técnica de pesquisa pressupõe também uma forma específica de organização do ficheiro Pesquisa interna: todo o ficheiro está em memória central Pesquisa externa: o ficheiro (ou parte) está em memória secundária. António José Mendes - Programação e Algoritmos II 213 2

3 Pesquisa sequencial Aplicável a uma tabela (organizada como um array ou como uma lista ligada ). Seja K uma array de n chaves e r um array de registos tal que k(i) é a chave de r(i); Seja o argumento de pesquisa chave; A variável pesquisa conterá o menor inteiro i tal que k(i)=chave, se i existir, e conterá -1 se i não existir. static int pesquisa_seq (int t[], int chave, int n) { int j; for (j = 0; j < n; j++) if (chave == t[j]) return (j); return (-1); } António José Mendes - Programação e Algoritmos II 214 Eficiência da pesquisa sequencial O número de comparações necessário para encontrar um registo numa tabela de dimensão n é, obviamente, dependente da posição do registo na tabela (1 comparação para o 1º registo; n para o último). Em média, o número de comparações é (n + 1)/2 É possível diminuir o número médio de comparações colocando os registos acedidos mais frequentemente no início da tabela António José Mendes - Programação e Algoritmos II 215 3

4 Pesquisa numa tabela ordenada O ordenamento da tabela de chaves (e da tabela de registos), por ordem crescente ou decrescente, permite tornar as pesquisas muito mais eficientes. Existem diversas técnicas para tirar partido da ordenação, tornando as pesquisas mais rápidas. Algumas das técnicas, no entanto, impõem que o tamanho da tabela seja fixo, ou, pelo menos, tornam-se muito complexas se o tamanho da tabela variar. Uma vantagem imediata da ordenação obtêm-se no caso em que o elemento pesquisado não faz parte da tabela. Numa tabela não ordenada são necessárias n comparações para concluir que o elemento não existe, enquanto que numa tabela ordenada bastam n/2 (em média), assumindo que as chaves a pesquisar se distribuem uniformemente. António José Mendes - Programação e Algoritmos II 216 Pesquisa sequencial indexada Método para melhorar a eficiência da pesquisa numa tabela ordenada por ordem crescente É criada uma tabela auxiliar ordenada por ordem crescente da chave (tal como a tabela principal) Cada elemento da tabela de índices consiste num chave (Kindice) e num ponteiro para o registo da tabela que corresponde a Kindice A tabela de índices tem 1/m do tamanho da tabela principal. No exemplo m = 8, ou seja a tabela índice tem 1/8 do tamanho da principal. Os registos representados na tabela de índices estão espaçados de m em m. Kindice Índice Pindice k (Chave) António José Mendes - Programação e Algoritmos II r (Registos) 4

5 Pesquisa sequencial indexada: método Método: A pesquisa é feita primeiro na tabela de índices; Assim que o índice correcto é encontrado a pesquisa continua na tabela principal; Na tabela principal a pesquisa restringe-se a uma pequena zona de tamanho m (8 elementos no exemplo ao lado). Vantagens: Permite reduzir o tempo de pesquisa; É utilizada uma simples pesquisa sequencial. Inconvenientes: Kindice A inserção e o apagamento de novos elementos é mais complicada (utilização de flags no apagamento). Índice Pindice k (Chave) António José Mendes - Programação e Algoritmos II r (Registos) Pesquisa sequencial indexada: tabelas muito grandes Índice Secundário Para tabelas muito grandes é possível utilizar várias tabelas de índice Índice Primário k (Chave) r (Registos) António José Mendes - Programação e Algoritmos II 219 5

6 Pesquisa binária Método: A chave da pesquisa é comparada com a chave do registo a meio da tabela Se forem iguais -> fim da pesquisa; Se não, continua-se a pesquisa na metade superior ou inferior da tabela, consoante o resultado a chave de pesquisa for maior ou menor do que a chave do registo a meio da tabela; A pesquisa binária pode ser efectuada na tabela principal ou então utilizada conjuntamente com a tabela sequencial indexada. Eficiência: O número máximo de comparações é log 2 n. Limitação: A pesquisa binária só pode ser utilizada se a tabela estiver sob a forma de um array estático. António José Mendes - Programação e Algoritmos II 220 Pesquisa binária static int pesquisa_bin (int t[], int chave, int n) { int low, hi, meio; low = 0; hi = n-1; while (low <= hi) { meio = (low + hi) / 2; if (chave == t[meio]) return (meio); if (chave < t[meio]) hi = meio - 1; else low = meio + 1; } return (-1); } António José Mendes - Programação e Algoritmos II 221 6

7 Pesquisa em Java O Java API inclui já algumas funções de pesquisa que se encontram na classe java.utils. Arrays Existe uma função binarysearch que implementa o algoritmo de pesquisa binária sobre tabelas de vários tipos Esta função recebe a tabela e a chave a pesquisar António José Mendes - Programação e Algoritmos II 222 7

Busca. Pesquisa sequencial

Busca. Pesquisa sequencial Busca Banco de dados existem para que, de tempos em tempos, um usuário possa localizar o dado de um registro, simplesmente digitando sua chave. Uma tabela ou um arquivo é um grupo de elementos, cada um

Leia mais

Análise de complexidade

Análise de complexidade Introdução Algoritmo: sequência de instruções necessárias para a resolução de um problema bem formulado (passíveis de implementação em computador) Estratégia: especificar (definir propriedades) arquitectura

Leia mais

BUSCA EM LISTAS LISTAS SEQÜENCIAIS, LISTAS SIMPLESMENTE E DUPLAMENTE ENCADEADAS E LISTAS CIRCULARES

BUSCA EM LISTAS LISTAS SEQÜENCIAIS, LISTAS SIMPLESMENTE E DUPLAMENTE ENCADEADAS E LISTAS CIRCULARES BUSCA EM LISTAS LISTAS SEQÜENCIAIS, LISTAS SIMPLESMENTE E DUPLAMENTE ENCADEADAS E LISTAS CIRCULARES ALGORITMOS DE BUSCA EM LISTAS COM ALOCAÇÃO SEQÜENCIAL Busca em Listas Lineares A operação de busca é

Leia mais

Pesquisa em Memória Primária. Prof. Jonas Potros

Pesquisa em Memória Primária. Prof. Jonas Potros Pesquisa em Memória Primária Prof. Jonas Potros Pesquisa em Memoria Primária Estudo de como recuperar informação a partir de uma grande massa de informação previamente armazenada. A informação é dividida

Leia mais

Pesquisa Sequencial e Binária

Pesquisa Sequencial e Binária Pesquisa Sequencial e Binária Prof. Túlio Toffolo http://www.toffolo.com.br BCC202 Aula 20 Algoritmos e Estruturas de Dados I Pesquisa em Memória Primária Introdução - Conceitos Básicos Pesquisa Sequencial

Leia mais

Métodos de Pesquisa em Memória Primária

Métodos de Pesquisa em Memória Primária Algoritmos e Estrutura de Dados II Métodos de Pesquisa em Memória Primária Prof Márcio Bueno ed2tarde@marciobueno.com / ed2noite@marciobueno.com Pesquisa Por pesquisa (procura ou busca) entende-se o ato

Leia mais

Árvores Binárias de Busca

Árvores Binárias de Busca Árvores Binárias de Busca Definição Uma Árvore Binária de Busca possui as mesmas propriedades de uma AB, acrescida da seguinte propriedade: Para todo nó da árvore, se seu valor é X, então: Os nós pertencentes

Leia mais

Estruturas de Armazenamento e Indexação. Rafael Lage Moreira Barbosa 10.1.4217

Estruturas de Armazenamento e Indexação. Rafael Lage Moreira Barbosa 10.1.4217 Estruturas de Armazenamento e Indexação Rafael Lage Moreira Barbosa 10.1.4217 Estruturas de Armazenamento Banco de Dados são armazenados fisicamente como arquivos de registro, que em geral ficam em discos

Leia mais

Árvores Binárias de Busca

Árvores Binárias de Busca Árvores Binárias de Busca Uma Árvore Binária de Busca T (ABB) ou Árvore Binária de Pesquisa é tal que ou T = 0 e a árvore é dita vazia ou seu nó contém uma chave e: 1. Todas as chaves da sub-árvore esquerda

Leia mais

Possui como idéia central a divisão de um universo de dados a ser organizado em subconjuntos mais gerenciáveis.

Possui como idéia central a divisão de um universo de dados a ser organizado em subconjuntos mais gerenciáveis. 3. Tabelas de Hash As tabelas de hash são um tipo de estruturação para o armazenamento de informação, de uma forma extremamente simples, fácil de se implementar e intuitiva de se organizar grandes quantidades

Leia mais

Hashing. Rafael Nunes LABSCI-UFMG

Hashing. Rafael Nunes LABSCI-UFMG Hashing Rafael Nunes LABSCI-UFMG Sumário Mapeamento Hashing Porque utilizar? Colisões Encadeamento Separado Endereçamento Aberto Linear Probing Double Hashing Remoção Expansão Quando não usar! Mapeamento

Leia mais

Árvore Binária de Busca

Árvore Binária de Busca Árvore Binária de Busca 319 Árvore Binária de Busca! construída de tal forma que, para cada nó:! nós com chaves menores estão na sub-árvore esquerda! nós com chaves maiores (ou iguais) estão na subárvore

Leia mais

Pesquisa em Memória Primária. Algoritmos e Estruturas de Dados II

Pesquisa em Memória Primária. Algoritmos e Estruturas de Dados II Pesquisa em Memória Primária Algoritmos e Estruturas de Dados II Pesquisa em Memória Primária Pesquisa: Recuperação de informação em um grande volume de dados Informação é dividida em registros e cada

Leia mais

Tabelas de Espalhamento

Tabelas de Espalhamento Tabelas de Espalhamento Motivação Algumas das estruturas de dados vistas anteriormente requerem que seus elementos (células dinâmicas) sejam inspecionados seqüencialmente até que a desejada seja encontrada.

Leia mais

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008 Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,

Leia mais

Algoritmos de pesquisa. Tabelas de dispersão/hash

Algoritmos de pesquisa. Tabelas de dispersão/hash Algoritmos de pesquisa Tabelas de dispersão/hash Introdução Motivação: Considerar o problema de pesquisar um determinado valor num vetor (array). Se o vetor não está ordenado, a pesquisa requer O(n) de

Leia mais

Índice. Capítulo 2 Estrutura de Dados sequencial com armazenamento sequencial

Índice. Capítulo 2 Estrutura de Dados sequencial com armazenamento sequencial Índice i Índice Capítulo 2 Estrutura de Dados sequencial com armazenamento sequencial 1. A Estrutura Abstrata de Dados Lista... 1 1.1. Definição... 1 1.2. Implementação de Listas utilizando armazenamento

Leia mais

EAD Árvore árvore binária

EAD Árvore árvore binária EAD Árvore árvore binária - Uma árvore binária é um conjunto finito de elementos (nodos) que pode ser vazio ou particionado em três subconjuntos: - raiz da árvore (elemento inicial, que é único); - subárvore

Leia mais

Métodos de Pesquisa 472

Métodos de Pesquisa 472 472 Métodos de Pesquisa 473 Objetivos e Caracterizações Para que se possa falar em algoritmos de pesquisa, é necessário inicialmente introduzir a noção de mapeamento que é uma das mais primitivas em programação.

Leia mais

EAD Árvore - representação usando listas ligadas

EAD Árvore - representação usando listas ligadas 4.1. Definição É uma árvore binária em que os seus nodos têm associado uma chave, que - determina a sua posição de colocação na árvore e - obedece às seguintes regras: a chave de um nodo é - maior do que

Leia mais

Sumário. 5COP096 Teoria da Computação Aula 8 Pesquisa em Memória Primária

Sumário. 5COP096 Teoria da Computação Aula 8 Pesquisa em Memória Primária 5COP096 Teoria da Computação Aula 8 Prof. Dr. Sylvio Barbon Junior Sylvio Barbon Jr barbon@uel.br 1 Sumário 1) Introdução à Pesquisa em Memória Primária 2) Pesquisa Sequencial 3) Pesquisa Binária 4) Árvore

Leia mais

Pesquisa Sequencial e Binária. Introdução à Programação SI2

Pesquisa Sequencial e Binária. Introdução à Programação SI2 Pesquisa Sequencial e Binária Introdução à Programação SI2 3 Contexto Diferentes estratégias para pesquisa (busca) de um elemento específico em um conjunto de dados. Lista, array, coleção Operação importante,

Leia mais

Análises Geração RI (representação intermediária) Código Intermediário

Análises Geração RI (representação intermediária) Código Intermediário Front-end Análises Geração RI (representação intermediária) Código Intermediário Back-End Geração de código de máquina Sistema Operacional? Conjunto de Instruções do processador? Ambiente de Execução O

Leia mais

Administração e Optimização de BDs

Administração e Optimização de BDs Departamento de Engenharia Informática 2010/2011 Administração e Optimização de BDs Mini-Projecto 1 2º semestre A resolução deve ser claramente identificada com o número de grupo e entregue sob a forma

Leia mais

Unidade 5 Armazenamento e Indexação

Unidade 5 Armazenamento e Indexação Unidade 5 Armazenamento e Indexação Engenharia de Computação / Engenharia de Produção Banco de Dados Prof. Maria das Graças da Silva Teixeira Material base: Banco de Dados, 2009.2, prof. Otacílio José

Leia mais

Trabalhos Práticos. Programação II Curso: Engª Electrotécnica - Electrónica e Computadores

Trabalhos Práticos. Programação II Curso: Engª Electrotécnica - Electrónica e Computadores Trabalhos Práticos Programação II Curso: Engª Electrotécnica - Electrónica e Computadores 1. Objectivos 2. Calendarização 3. Normas 3.1 Relatório 3.2 Avaliação 4. Propostas Na disciplina de Programação

Leia mais

Tabela de símbolos: tabelas de espalhamento

Tabela de símbolos: tabelas de espalhamento Tabela de símbolos: tabelas de espalhamento Marcelo K. Albertini 14 de Janeiro de 2014 2/28 Resumo de complexidades Análises para operação efetuada após N inserções pior caso caso médio keys chave get

Leia mais

Organização de Arquivos

Organização de Arquivos Classificação e Pesquisa de Dados Aula 2 Organização de s: s Sequenciais e s Sequenciais Indexados UFRGS INF01124 Organização de s Propósito Estudo de técnicas de armazenamento e recuperação de dados em

Leia mais

ARRAYS. Um array é um OBJETO que referencia (aponta) mais de um objeto ou armazena mais de um dado primitivo.

ARRAYS. Um array é um OBJETO que referencia (aponta) mais de um objeto ou armazena mais de um dado primitivo. Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 8 ARRAYS Introdução Até agora, utilizamos variáveis individuais. Significa que uma variável objeto

Leia mais

FUNDAÇÃO EDUCACIONAL DE ITUIUTABA

FUNDAÇÃO EDUCACIONAL DE ITUIUTABA FUNDAÇÃO EDUCACIONAL DE ITUIUTABA ASSOCIADA À UNIVERSIDADE DO ESTADO DE MINAS GERAIS CURSO DE SISTEMA DE INFORMAÇÃO PILHA E FILA Prof. Walteno Martins Parreira Júnior www.waltenomartins.com.br waltenomartins@yahoo.com

Leia mais

Programação SQL. Manipulação de Dados. DML Data Manipulation Language

Programação SQL. Manipulação de Dados. DML Data Manipulation Language Programação SQL Manipulação de Dados DML Data Manipulation Language Manipulação de Dados (DML) Os comandos INSERT, UPDATE, DELETE, são normalmente classificados como pertencendo a uma sublinguagem da linguagem

Leia mais

INF1007 - PROGRAMAÇÃO II LISTA DE EXERCÍCIOS 15

INF1007 - PROGRAMAÇÃO II LISTA DE EXERCÍCIOS 15 INF1007 - PROGRAMAÇÃO II LISTA DE EXERCÍCIOS 15 1. Um número racional é expresso por dois inteiros: um numerador e um denominador (este último diferente de zero!). Implemente um TAD para representar números

Leia mais

Geração de código intermediário. Novembro 2006

Geração de código intermediário. Novembro 2006 Geração de código intermediário Novembro 2006 Introdução Vamos agora explorar as questões envolvidas na transformação do código fonte em uma possível representação intermediária Como vimos, nas ações semânticas

Leia mais

Unidade IV: Ponteiros, Referências e Arrays

Unidade IV: Ponteiros, Referências e Arrays Programação com OO Acesso em Java a BD Curso: Técnico em Informática Campus: Ipanguaçu José Maria Monteiro Pontifícia Universidade Católica do Rio de Janeiro PUC-Rio Departamento Clayton Maciel de Informática

Leia mais

DAS5102 Fundamentos da Estrutura da Informação

DAS5102 Fundamentos da Estrutura da Informação Pilhas A estrutura de dados Pilha emula a forma de organização de objetos intuitiva que é utilizada diariamente nos mais diversos contextos da vida humana. Containeres são empilhados e desempilhados diariamente

Leia mais

ÁRVORES BINÁRIAS DE PESQUISA

ÁRVORES BINÁRIAS DE PESQUISA ÁRVORES BINÁRIAS DE PESQUISA Árvores binárias de pesquisa são uma estrutura alternativa do tipo árvore binária, para guardar valores de tal forma que a recuperação dos mesmos pode ser efectuada de forma

Leia mais

INF1007: Programação 2 10 Árvores Binárias. (c) Dept. Informática - PUC-Rio 1

INF1007: Programação 2 10 Árvores Binárias. (c) Dept. Informática - PUC-Rio 1 INF1007: Programação 2 10 Árvores Binárias (c) Dept. Informática - PUC-Rio 1 Tópicos Principais Introdução Árvores binárias Representação em C Ordens de percurso em árvores binárias Altura de uma árvore

Leia mais

Tabelas (arrays) (vetores, matrizes, etc) Algoritmos de pesquisa Algoritmos de ordenação

Tabelas (arrays) (vetores, matrizes, etc) Algoritmos de pesquisa Algoritmos de ordenação Java Tabelas (arrays) (vetores, matrizes, etc) Algoritmos de pesquisa Algoritmos de ordenação 1 Tabelas para quê? As tabelas são utilizadas quando se pretende armazenar e manipular um grande número de

Leia mais

BCC202 - Estrutura de Dados I

BCC202 - Estrutura de Dados I BCC202 - Estrutura de Dados I Aula 04: Análise de Algoritmos (Parte 1) Reinaldo Fortes Universidade Federal de Ouro Preto, UFOP Departamento de Ciência da Computação, DECOM Website: www.decom.ufop.br/reifortes

Leia mais

Índices* Professora Rosane Minghim. * Baseado no material de Leandro C. Cintra e M. C. F. de Oliveira. Fonte: Folk & Zoelick, File Structures.

Índices* Professora Rosane Minghim. * Baseado no material de Leandro C. Cintra e M. C. F. de Oliveira. Fonte: Folk & Zoelick, File Structures. Índices* Professora Rosane Minghim * Baseado no material de Leandro C. Cintra e M. C. F. de Oliveira. Fonte: Folk & Zoelick, File Structures. Índice Em geral, um índice fornece mecanismos para localizar

Leia mais

Hashing Letícia Rodrigues Bueno

Hashing Letícia Rodrigues Bueno Hashing Letícia Rodrigues Bueno UFABC hash: Hashing (Tabelas de Dispersão): Introdução hash: Hashing (Tabelas de Dispersão): Introdução Hashing (Tabelas de Dispersão): Introdução hash: 1. fazer picadinho

Leia mais

Pesquisa e organização de informação

Pesquisa e organização de informação Pesquisa e organização de informação Capítulo 3 A capacidade e a variedade de dispositivos de armazenamento que qualquer computador atual possui, tornam a pesquisa de informação um desafio cada vez maior

Leia mais

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

- UNIVERSIDADE DO VALE DO RIO DOS SINOS CIÊNCIAS EXATAS E TECNOLÓGICAS Curso: Informática / Ciência da Computação Programação 1I Prof. Osório Árvores Binárias Pag.: 1 - UNIVERSIDADE DO VALE DO RIO DOS SINOS CIÊNCIAS EXATAS E TECNOLÓGICAS Curso: Informática / Ciência da Computação Programação II Disciplina: Linguagem

Leia mais

PROGRAMAÇÃO II 4. ÁRVORE

PROGRAMAÇÃO II 4. ÁRVORE 4. ÁRVORE PROGRAMAÇÃO II Prof. Jean Eduardo Glazar Uma árvore impõe uma estrutura hierárquica em uma coleção de itens. Um exemplo familiar é a árvore genealógica. Árvores despontam de forma natural em

Leia mais

INF 1007 Programação II

INF 1007 Programação II INF 1007 Programação II Aula 14 Árvores Binárias Edirlei Soares de Lima Árvores Uma estrutura de dados do tipo árvore permite que dados sejam organizados de maneira hierárquica.

Leia mais

Variáveis e estruturas de controlo. Introdução à Programação André L. Santos

Variáveis e estruturas de controlo. Introdução à Programação André L. Santos Variáveis e estruturas de controlo Introdução à Programação André L. Santos Variáveis Uma variável pode ser vista como um espaço em memória onde um valor de determinado tipo (p.e. inteiro) pode ser guardado.

Leia mais

ESTRUTURA DE DADOS PILHA

ESTRUTURA DE DADOS PILHA ESTRUTURA DE DADOS PILHA CONCEITO DE PILHAS - Pilhas são listas lineares onde a inserção de um novo item ou a remoção de um item já existente se dá em uma única extremidade, no topo. Pilha vazia Insere(A)

Leia mais

Prof. Daniela Barreiro Claro

Prof. Daniela Barreiro Claro Arquivos de registros Abstração do SGBD Pode ser criado, destruido e ter registros incluidos e excluidos nele Tb suporta a varredura Uma relacao geralmente é armazenada como um arquivo de registros Camada

Leia mais

Aplicações de Escritório Electrónico

Aplicações de Escritório Electrónico Universidade de Aveiro Escola Superior de Tecnologia e Gestão de Águeda Curso de Especialização Tecnológica em Práticas Administrativas e Tradução Aplicações de Escritório Electrónico Folha de trabalho

Leia mais

Algoritmos e Estruturas de Dados I 01/2013. Arquivos. Pedro O.S. Vaz de Melo

Algoritmos e Estruturas de Dados I 01/2013. Arquivos. Pedro O.S. Vaz de Melo Algoritmos e Estruturas de Dados I 01/2013 Arquivos Pedro O.S. Vaz de Melo Problema 1 Considere que um arquivo de dados contém os valores das dimensões (tam. max.: 100) e dos elementos de duas matrizes

Leia mais

Algoritmos de Busca em Tabelas

Algoritmos de Busca em Tabelas Dentre os vários algoritmos fundamentais, os algoritmos de busca em tabelas estão entre os mais usados. Considere por exemplo um sistema de banco de dados. As operações de busca e recuperação dos dados

Leia mais

Árvores Binárias Balanceadas

Árvores Binárias Balanceadas Árvores Binárias Balanceadas Elisa Maria Pivetta Cantarelli Árvores Balanceadas Uma árvore é dita balanceada quando as suas subárvores à esquerda e à direita possuem a mesma altura. Todos os links vazios

Leia mais

Estruturas de Dados I

Estruturas de Dados I UFES - Curso de verão 2011 Estruturas de Dados I Profa. Juliana Pinheiro Campos jupcampos@gmail.com Árvores binárias de busca (ou São árvores projetadas para dar suporte a operações de busca de forma eficiente.

Leia mais

Linguagem C: Árvores Binarias

Linguagem C: Árvores Binarias Instituto de C Linguagem C: Árvores Binarias Luis Martí Instituto de Computação Universidade Federal Fluminense lmarti@ic.uff.br - http://lmarti.com Tópicos Principais Introdução Árvores binárias Implementação

Leia mais

Estruturas de Dados. Prof. Gustavo Willam Pereira Créditos: Profa. Juliana Pinheiro Campos

Estruturas de Dados. Prof. Gustavo Willam Pereira Créditos: Profa. Juliana Pinheiro Campos Estruturas de Dados Prof. Gustavo Willam Pereira Créditos: Profa. Juliana Pinheiro Campos Árvores Conceitos Árvores binárias Árvores binárias de pesquisa Árvores binárias balanceadas Árvores ESTRUTURAS

Leia mais

Trabalho 3: Agenda de Tarefas

Trabalho 3: Agenda de Tarefas INF 1620 Estruturas de Dados Semestre 08.2 Trabalho 3: Agenda de Tarefas O objetivo deste trabalho é a implementação de um conjunto de funções para a manipulação de uma agenda de tarefas diárias, de forma

Leia mais

DICIONÁRIOS. template<class K,class T> class Par { public: K chave; T valor; Par():chave(),valor()

DICIONÁRIOS. template<class K,class T> class Par { public: K chave; T valor; Par():chave(),valor() DICIONÁRIOS Esta estrutura inclui-se nos chamados contentores associativos, que não são mais do que uma colecção de estruturas de tipo Par, com dois membros de dados (chave de pesquisa e valor associado),

Leia mais

Pragmática das Linguagens de Programação 2004/2005

Pragmática das Linguagens de Programação 2004/2005 Instituto Superior Técnico Pragmática das Linguagens de Programação 2004/2005 Segundo Exame 11/2/2005 Número: Turma: Nome: Escreva o seu número em todas as folhas do teste. O tamanho das respostas deve

Leia mais

Tarefa Orientada 12 Junção Externa, Auto-Junção e União

Tarefa Orientada 12 Junção Externa, Auto-Junção e União Tarefa Orientada 12 Junção Externa, Auto-Junção e União Objectivos: Junção externa (Outer JOIN) Junção externa à esquerda (LEFT Outer JOIN) Junção externa à direita (RIGHT Outer JOIN) Junção externa completa

Leia mais

O dono de uma livraria cuja base de dados é administrada por si pediu-lhe para efectuar as seguintes alterações ao preço dos livros:

O dono de uma livraria cuja base de dados é administrada por si pediu-lhe para efectuar as seguintes alterações ao preço dos livros: - Necessidade O dono de uma livraria cuja base de dados é administrada por si pediu-lhe para efectuar as seguintes alterações ao preço dos livros: Os livros que custarem mais de 10, devem ver o seu preço

Leia mais

Funções de um SO. Gerência de processos Gerência de memória Gerência de Arquivos Gerência de I/O Sistema de Proteção

Funções de um SO. Gerência de processos Gerência de memória Gerência de Arquivos Gerência de I/O Sistema de Proteção Sistemas de Arquivos Funções de um SO Gerência de processos Gerência de memória Gerência de Arquivos Gerência de I/O Sistema de Proteção 2 Sistemas Operacionais Necessidade de Armazenamento Grandes quantidades

Leia mais

Algoritmos de Pesquisa e Ordenação em Vectores

Algoritmos de Pesquisa e Ordenação em Vectores Algoritmos de Pesquisa e Ordenação em Vectores FEUP - MIEEC Programação 2-2008/2009 Pesquisa Sequencial Problema (pesquisa de valor em vector): Verificar se um valor existe no vector e, no caso de existir,

Leia mais

O Modelo de Entidades e Relacionamentos (MER) é um modelo conceitual usado para projeto de aplicações de banco de dados.

O Modelo de Entidades e Relacionamentos (MER) é um modelo conceitual usado para projeto de aplicações de banco de dados. Fases do Projeto de um Banco de Dados Modelo ER O Modelo de Entidades e Relacionamentos (MER) é um modelo conceitual usado para projeto de aplicações de banco de dados. É um modelo baseado na percepção

Leia mais

Árvores Binárias e Busca. Jeane Melo

Árvores Binárias e Busca. Jeane Melo Árvores Binárias e Busca Jeane Melo Roteiro Parte 1 Árvores Relação hierárquica Definição Formal Terminologia Caminhamento em Árvores Binárias Exemplos Parte 2 Busca seqüencial Busca Binária Grafos Conjunto

Leia mais

MICROSOFT ACCESS MICROSOFT ACCESS. Professor Rafael Vieira Professor Rafael Vieira

MICROSOFT ACCESS MICROSOFT ACCESS. Professor Rafael Vieira Professor Rafael Vieira MICROSOFT ACCESS MICROSOFT ACCESS Professor Rafael Vieira Professor Rafael Vieira - Access - Programa de base de dados relacional funciona em Windows Elementos de uma Base de Dados: Tabelas Consultas Formulários

Leia mais

EXCEL. Listas como Bases de Dados

EXCEL. Listas como Bases de Dados Informática II Gestão Comercial e da Produção EXCEL Listas como Bases de Dados (TÓPICOS ABORDADOS NAS AULAS DE INFORMÁTICA II) Curso de Gestão Comercial e da Produção Ano Lectivo 2002/2003 Por: Cristina

Leia mais

Grupo I [4v] executaprograma();

Grupo I [4v] executaprograma(); Número: Nome: LEIC/LERC 2012/13-1º Exame de Sistemas Operativos 15/Janeiro/2013 Identifique todas as folhas. Responda no enunciado, apenas no espaço fornecido. Justifique todas as respostas. Duração: 2h30m

Leia mais

5 Caso de estudo O cartão fidelidade

5 Caso de estudo O cartão fidelidade 5 Caso de estudo O cartão fidelidade Cartão de fidelização de clientes das distribuidoras de combustível. Definição em JAVA da classe CartaoFidelidade, que deverá apresentar uma funcionalidade semelhante

Leia mais

ALGORITMOS E ESTRUTURAS DE DADOS CES-11 CES-11 CES-11

ALGORITMOS E ESTRUTURAS DE DADOS CES-11 CES-11 CES-11 ALGORITMOS E ESTRUTURAS DE DADOS Prof. Paulo André Castro pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac IECE - ITA Uma árvore binária é: uma árvore vazia; ou uma árvore onde qualquer

Leia mais

Pesquisa Sequencial e Binária

Pesquisa Sequencial e Binária Pesquisa Sequencial e Binária Prof. Wylliams Barbosa Santos wylliamss@gmail.com Introdução à Programação Crédito de Conteúdo: Professora Ceça Moraes Agenda Pesquisa Sequencial Noções de complexidade Pesquisa

Leia mais

Programação Concorrente em java - Exercícios Práticos Abril 2004

Programação Concorrente em java - Exercícios Práticos Abril 2004 Programação Concorrente em java - Exercícios Práticos Abril 2004 1. Introdução As threads correspondem a linhas de controlo independentes no âmbito de um mesmo processo. No caso da linguagem JAVA, é precisamente

Leia mais

Árvore B UNITINS ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 3º PERÍODO 43

Árvore B UNITINS ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 3º PERÍODO 43 AULA A 3 ESTRUTURA RA DE DADOS Árvore B Esperamos que, ao final desta aula, você seja capaz de: identificar as vantagens da árvore B em relação às árvores binária de busca e AVL; conhecer as funções de

Leia mais

Pesquisa digital. Algoritmos e Estruturas de Dados II

Pesquisa digital. Algoritmos e Estruturas de Dados II Pesquisa digital Algoritmos e Estruturas de Dados II Pesquisa digital A pesquisa digital usa a representação das chaves para estruturar os dados na memória Por exemplo, a representação de um número em

Leia mais

ESTRUTURAS DE DADOS I. Notas de Aula. Prof. Dr. Gilberto Nakamiti

ESTRUTURAS DE DADOS I. Notas de Aula. Prof. Dr. Gilberto Nakamiti ESTRUTURAS DE DADOS I Notas de Aula 1 SUMÁRIO 1. INTRODUÇÃO... 2 1.1 Array (vetores)... 2 2. BUSCA DE ELEMENTOS... 3 2.1 Busca Seqüencial... 3 2.2 Busca Binária... 3 2.3 Busca Indexada... 3 2.4 Busca Hash...

Leia mais

I. COMO FAZER O REGISTO NA PLATAFORMA MOODLE 3 II. COMO ACEDER (ENTRAR) NO MOODLE DA ESCOLA 1

I. COMO FAZER O REGISTO NA PLATAFORMA MOODLE 3 II. COMO ACEDER (ENTRAR) NO MOODLE DA ESCOLA 1 Novembro.2010 Índice I. COMO FAZER O REGISTO NA PLATAFORMA MOODLE 3 II. COMO ACEDER (ENTRAR) NO MOODLE DA ESCOLA 1 III. COMO INSERIR MATERIAL PEDAGÓGICO (ANEXAR FICHEIROS) 1 IV. CRIAR UM GLOSSÁRIO 5 V.

Leia mais

INF 1010 Estruturas de Dados Avançadas

INF 1010 Estruturas de Dados Avançadas INF 1010 Estruturas de Dados Avançadas Listas de Prioridades e Heaps 1 Listas de Prioridades Em muitas aplicações, dados de uma coleção são acessados por ordem de prioridade A prioridade associada a um

Leia mais

Árvores Binárias. Observação: Material elaborado a partir do material do Professor Marcos Costa.

Árvores Binárias. Observação: Material elaborado a partir do material do Professor Marcos Costa. Árvores Binárias Observação: Material elaborado a partir do material do Professor Marcos Costa. Árvores Binárias Árvore binária é definida como um conjunto finito de nós que Ou está vazio Ou consiste de

Leia mais

FACULDADE CAMPO LIMPO PAULISTA MESTRADO EM CIÊNCIA DA COMPUTAÇÃO. Projeto e Análise de Algoritmos II Lista de Exercícios 2

FACULDADE CAMPO LIMPO PAULISTA MESTRADO EM CIÊNCIA DA COMPUTAÇÃO. Projeto e Análise de Algoritmos II Lista de Exercícios 2 FACULDADE CAMPO LIMPO PAULISTA MESTRADO EM CIÊNCIA DA COMPUTAÇÃO Projeto e Análise de Algoritmos II Lista de Exercícios 2 Prof. Osvaldo. 1. Desenvolva algoritmos para as operações abaixo e calcule a complexidade

Leia mais

CT-234. Análise de Algoritmos e Complexidade Estrutural. Carlos Alberto Alonso Sanches

CT-234. Análise de Algoritmos e Complexidade Estrutural. Carlos Alberto Alonso Sanches CT-234 Estruturas de Dados, Análise de Algoritmos e Complexidade Estrutural Carlos Alberto Alonso Sanches CT-234 4) Árvores balanceadas AVL, Rubro-Negras, B-Trees Operações em árvores binárias de busca

Leia mais

PROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012

PROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012 Departamento de Engenharia Electrotécnica PROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012 Mestrado Integrado em Engenharia Electrotécnica e de Computadores 1º ano 2º semestre Trabalho Final Reservas de viagens

Leia mais

Sistemas Operativos 2005/2006. Arquitectura Cliente-Servidor Aplicada A Uma Biblioteca. Paulo Alexandre Fonseca Ferreira Pedro Daniel da Cunha Mendes

Sistemas Operativos 2005/2006. Arquitectura Cliente-Servidor Aplicada A Uma Biblioteca. Paulo Alexandre Fonseca Ferreira Pedro Daniel da Cunha Mendes Sistemas Operativos 2005/2006 Arquitectura Cliente-Servidor Aplicada A Uma Biblioteca Turma 3EIC3 Grupo 5 Paulo Alexandre Fonseca Ferreira Pedro Daniel da Cunha Mendes O trabalho efectuado, consiste numa

Leia mais

Exemplo de aplicação Car Parking 1in1out

Exemplo de aplicação Car Parking 1in1out Animator Exemplo de aplicação Car Parking 1in1out Neste documento será apresentado um exemplo de aplicação de um parque de estacionamento com uma entrada, uma saída, e três lugares livres de estacionamento.

Leia mais

Manual de Utilizador. Disciplina de Projecto de Sistemas Industriais. Escola Superior de Tecnologia. Instituto Politécnico de Castelo Branco

Manual de Utilizador. Disciplina de Projecto de Sistemas Industriais. Escola Superior de Tecnologia. Instituto Politécnico de Castelo Branco Escola Superior de Tecnologia Instituto Politécnico de Castelo Branco Departamento de Informática Curso de Engenharia Informática Disciplina de Projecto de Sistemas Industriais Ano Lectivo de 2005/2006

Leia mais

1. Introdução... 1 1.1. Definição... 1 1.2. Conceitos relacionados... 2

1. Introdução... 1 1.1. Definição... 1 1.2. Conceitos relacionados... 2 Índice i Índice Capítulo 4 Estrutura de Dados não sequencial com armazenamento não sequencial ( Árvore ) 1. Introdução... 1 1.1. Definição... 1 1.2. Conceitos relacionados... 2 2. Árvores binárias... 2

Leia mais

EAmb V.1 ESPOSENDE AMBIENTE. GestProcessos Online. Manual do Utilizador

EAmb V.1 ESPOSENDE AMBIENTE. GestProcessos Online. Manual do Utilizador EAmb V.1 ESPOSENDE AMBIENTE GestProcessos Online Manual do Utilizador GestProcessos Online GABINETE DE SISTEMAS DE INFORMAÇÃO E COMUNICAÇÃO EAmb Esposende Ambiente, EEM Rua da Ribeira 4740-245 - Esposende

Leia mais

Algoritmos e Estruturas de Dados II. Trabalho Prático 2

Algoritmos e Estruturas de Dados II. Trabalho Prático 2 Algoritmos e Estruturas de Dados II Entrega: 24/09/08 Devolução: 15/10/08 Trabalho individual Prof. Jussara Marques de Almeida Trabalho Prático 2 Você foi contratado pela XOL X Online para desenvolver

Leia mais

Pesquisa em Memória Primária. Prof. Jonas Potros

Pesquisa em Memória Primária. Prof. Jonas Potros Pesquisa em Memória Primária Prof. Jonas Potros Procedimento para Inserir na Árvore Binária Critérios: Atingir um ponteiro nulo em um processo de pesquisa significa uma pesquisa sem sucesso. O ponteiro

Leia mais

Métodos Computacionais. Árvores

Métodos Computacionais. Árvores Métodos Computacionais Árvores Árvores Vetores e Listas são ótimos para representar estrutura de dados lineares, mas não para modelar dados hierárquicos Exemplos de dados hierárquicos: sistema de arquivos

Leia mais

Sistemas de Arquivos. André Luiz da Costa Carvalho

Sistemas de Arquivos. André Luiz da Costa Carvalho Sistemas de Arquivos André Luiz da Costa Carvalho Sistemas de arquivos Sistema de arquivos é o nome que se dá a implementação da organização de dados em discos. Vai desde o acesso a baixo nível até a interface

Leia mais

LeYa Educação Digital

LeYa Educação Digital Índice 1. Conhecer o 20 Aula Digital... 4 2. Registo no 20 Aula Digital... 5 3. Autenticação... 6 4. Página de entrada... 7 4.1. Pesquisar um projeto... 7 4.2. Favoritos... 7 4.3. Aceder a um projeto...

Leia mais

Conceitos importantes

Conceitos importantes Conceitos importantes Informática Informação + Automática Tratamento ou processamento da informação, utilizando meios automáticos. Computador (Provem da palavra latina: computare, que significa contar)

Leia mais

Tabelas Hash. Jeane Melo

Tabelas Hash. Jeane Melo Tabelas Hash Jeane Melo Roteiro Introdução Motivação Definição Tabelas Hash Exemplos Funções hash Colisões Introdução Estudamos a utilização de estruturas como listas e árvores para armazenar informações

Leia mais

Algoritmos e Estruturas de Dados I. Arquivos. Pedro O.S. Vaz de Melo

Algoritmos e Estruturas de Dados I. Arquivos. Pedro O.S. Vaz de Melo Algoritmos e Estruturas de Dados I Arquivos Pedro O.S. Vaz de Melo Problema 1 Considere que um arquivo de dados contém os valores das dimensões (tam. max.: 100) e dos elementos de duas matrizes de números

Leia mais

Grupo I [4v] b. [0,6v] De que forma é que o escalonador do Linux tenta minimizar o impacto desta limitação?

Grupo I [4v] b. [0,6v] De que forma é que o escalonador do Linux tenta minimizar o impacto desta limitação? Número: Nome: LEIC/LERC 2011/12-2º Exame de Sistemas Operativos 3/Fevereiro/2012 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração: 2h30m Grupo I [4v] 1. [0,6v] A

Leia mais

Estrutura da linguagem de programação C Prof. Tiago Eugenio de Melo tiago@comunidadesol.org

Estrutura da linguagem de programação C Prof. Tiago Eugenio de Melo tiago@comunidadesol.org Estrutura da linguagem de programação C Prof. Tiago Eugenio de Melo tiago@comunidadesol.org Breve Histórico A linguagem de programação C foi criada na década de 70, por Dennis Ritchie, que a implementou,

Leia mais

Base de dados I. Uma base de dados é um simples repositório de informação relacionado com um determinado assunto ou finalidade

Base de dados I. Uma base de dados é um simples repositório de informação relacionado com um determinado assunto ou finalidade Base de dados I O que é? Uma base de dados é um simples repositório de informação relacionado com um determinado assunto ou finalidade Para que serve? Serve para gerir vastos conjuntos de informação de

Leia mais

Paradigmas da Programação PPROG. Linguagem JAVA. Interfaces. (Livro Big Java, Late Objects Capítulo 9) Nelson Freire (ISEP DEI-PPROG 2013/14) 1/33

Paradigmas da Programação PPROG. Linguagem JAVA. Interfaces. (Livro Big Java, Late Objects Capítulo 9) Nelson Freire (ISEP DEI-PPROG 2013/14) 1/33 PPROG Paradigmas da Programação Linguagem JAVA Interfaces (Livro Big Java, Late Objects Capítulo 9) Nelson Freire (ISEP DEI-PPROG 2013/14) 1/33 PPROG Motivação para usar Interfaces Definição de Interface

Leia mais

Aula 03 Custos de um algoritmo e funções de complexidade

Aula 03 Custos de um algoritmo e funções de complexidade BC1424 Algoritmos e Estruturas de Dados I Aula 03 Custos de um algoritmo e funções de complexidade Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 1Q-2015 1 Custo de um algoritmo e funções de complexidade

Leia mais

Coleções. Page 1. Coleções. Prof. Anderson Augustinho Uniandrade

Coleções. Page 1. Coleções. Prof. Anderson Augustinho Uniandrade Page 1 podem ser comparadas com arrays, visto que também apresentam a capacidade de armazenar referências para vários objetos. Entretanto, as coleções apresentam uma gama de funcionalidades bem maior do

Leia mais