Indexação de Dados Biológicos baseado em Vetores de Sufixo Generalizados para Disco

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

Download "Indexação de Dados Biológicos baseado em Vetores de Sufixo Generalizados para Disco"

Transcrição

1 Indexação de Dados Biológicos baseado em Vetores de Sufixo Generalizados para Disco Felipe Alves da Louza 1, Profa. Dra. Cristina Dutra de Aguiar Ciferri 1 1 Pós-Graduação em Ciências de Computação e Matemática Computacional Instituto de Ciências Matemáticas e de Computação (ICMC) Universidade de São Paulo (USP) São Carlos, SP, Brasil {louza, cdac}@icmc.usp.br Nível: Mestrado Ano de ingresso no programa: 2012 Exame de qualificação: Junho de 2012 Época esperada de conclusão: Julho de 2013 Resumo. Com o avanço tecnológico, a quantidade de dados biológicos coletados, armazenados e disponíveis para análise tem aumentado exponencialmente. Esses dados referem-se às sequências biológicas de DNA, RNA e de proteínas e são armazenadas em bancos de dados biológicos (BDBs) como cadeias de caracteres. O casamento exato de cadeias de caracteres desempenha um papel importante em pesquisas por similaridade em BDBs, atuando como um filtro na etapa de alinhamento de sequências biológicas. Além disso, para auxiliar essas pesquisas, existem os índices e, dentro desse contexto, o vetor de sufixo é uma estrutura de dados muito utilizada. Desafios relacionados ao uso de vetores de sufixo na indexação de BDBs referem-se à construção do índice para grandes cadeias, ao armazenamento e à manipulação eficiente de sua estrutura em memória externa (ou seja, disco), e à indexação de conjuntos de cadeias por meio de vetores de sufixo generalizados. Na literatura, trabalhos correlatos que usam vetores de sufixo apresentam as seguintes limitações. Por um lado, trabalhos que usam vetores de sufixo generalizados são direcionados apenas à memória primária. Por outro lado, trabalhos voltados à manipulação de vetores de sufixo em disco não enfocam vetores de sufixo generalizados. Essas limitações motivam o desenvolvimento deste projeto de mestrado, o qual tem por objetivo investigar a indexação persistente de dados biológicos baseado em vetores de sufixo generalizados. Palavras-Chave bancos de dados biológicos, índices, vetores de sufixo para disco, vetores de sufixo generalizados. Os autores agradecem o apoio financeiro das seguintes agências de fomento à pesquisa do Brasil: FAPESP, CNPq, CAPES. 87

2 1. Introdução A quantidade de dados biológicos coletados, armazenados em banco de dados biológicos (BDBs) e disponíveis para análise tem aumentado exponencialmente devido ao avanço tecnológico. Esses dados referem-se às sequências biológicas de DNA, RNA e de proteínas e são armazenados nos bancos de dados biológicos (BDBs) como cadeias de caracteres. Diversos avanços na medicina têm sido obtidos por meio da pesquisa por similaridade em sequências biológicas [Gusfield 1997]. Surge, então, o desafio de pesquisar eficientemente BDBs. Em geral, pesquisas por similaridade em sequências biológicas são realizadas por meio do alinhamento dessas sequências. No entanto, métodos para alinhamento são computacionalmente caros, e raramente aplicados diretamente a BDBs. O casamento exato de cadeias de caracteres desempenha um papel importante em pesquisas por similaridade em BDBs, atuando como um filtro na etapa de alinhamento de sequências biológicas. Por exemplo, essa estratégia é utilizada pela ferramenta BLAST [Altschul et al. 1990], uma das mais importantes ferramentas de pesquisa por similaridade em BDBs. Para auxiliar pesquisas por similaridade, existem os índices, os quais conduzem as buscas a porções do conjunto de dados nas quais as sequências armazenadas têm maior probabilidade de serem similares à consulta. Na literatura, diferentes estruturas de dados têm sido usadas para indexação de cadeias de caracteres, entre elas, destaca-se a tabela hash, aárvore de sufixo e o vetor de sufixo [Gusfield 1997]. Nesse trabalho, enfoca-se o uso de vetores de sufixo, desde que essa estrutura é mais econômica em termos de espaço do que árvore de sufixo, e não é limitada à indexação de subcadeias de tamanho específico como a tabela hash. Um vetor de sufixo A T para uma cadeia T [1,n], com n caracteres, é um vetor de inteiros i [1,n] com todos os sufixos T [i] ordenados lexicograficamente [Manber and Myers 1993]. Uma vez construído A T, consultas por subcadeias em A T podem ser realizadas eficientemente. Adicionalmente, vetores de sufixo podem ser generalizados para indexar conjuntos de cadeias. Um vetor de sufixo generalizado G C para um conjunto C = {T 1,..., T r }, com r cadeias, possibilita a busca por similaridade em subcadeias de C e também a comparação entre todas as cadeias T i C [Gusfield 1997]. Este projeto de mestrado visa investigar a indexação persistente de dados biológicos baseado em vetores de sufixo generalizados. Mais detalhadamente, o projeto pretende desenvolver algoritmos relacionados à manipulação dos vetores de sufixo em disco e considerar extensões de suas estruturas de dados para indexar conjuntos de cadeias armazenadas em BDBs, por meio de vetores de sufixo generalizados. Pretendese investigar, portanto, a construção e a manipulação de vetores de sufixo generalizados armazenados em disco, e a realização de pesquisa por similaridade sobre esses vetores de sufixo generalizados persistentes. Este artigo está organizado como segue. Na Seção 2 são descritos fundamentos relacionados aos vetores de sufixo. Na Seção 3 são descritos trabalhos correlatos. Na Seção 4 é apresentada a proposta deste trabalho junto com os objetivos e a validação. Na Seção 5 são discutidas as atividades em andamento. O artigo é finalizado na Seção 6 com as considerações finais e as próximas atividades. 88

3 2. Vetor de Sufixo Sejam Σ= {α 1,α 2,..., α σ } um alfabeto com σ caracteres e uma ordem linear α 1 < α 2 <... < α σ definida, Σ o conjunto das cadeias construídas a partir de Σ, e$ / Σ um caractere que representa o final de uma cadeia, com $ <α i, α i Σ. Seja S Σ uma cadeia de carecteres, S[i, j] (1 i j n) é uma subcadeia de S que começa na posição i e termina na posição j. Dessa forma, S = S[1,n]=s 1 s 2... s n. Em particular, S[i, n] é um sufixo de S que começa na posição i, denotado por S[i]. Seja T Σ, a cadeia S é menor (lexicograficamente) que T, denotado por S T, se existir um índice j min{n, m} tal que: s 1... s j 1 = t 1... t j 1, e s j <t j. Um vetor de sufixo para um texto T [1,n], denotado por A T, é um vetor de n inteiros, pertencentes ao intervalo [1,n], com todos os sufixos T [i] ordenados lexicograficamente (1 i n) [Manber and Myers 1993]. O vetor de sufixo A T pode ser visto como a permutação de todos os elementos {1, 2,..., n}. O vetor de sufixo é definido formalmente na Definição 1. Definição 1 Um vetor de sufixo A T, para um texto T [1,n] Σ, é um vetor de inteiros A T =[j 1,j 2,..., j n ], de forma que : T [j 1 ] T [j 2 ]... T [j n ] A etapa de consulta em um vetor A T pode ser realizada por meio de uma busca binária em A T, uma vez que A T contém todos sufixos de T [1,n] ordenados. Por exemplo, considere o vetor de sufixo A T, para T = GAT AGA$ ilustrado na Figura 1. A busca pelo padrão P [1, 3] = AGA em A T é realizada em 3 passos, representados pelas setas ao lado direito de A T. No passo i =1, compara-se P com A T [4], e no caso, P T [A T [4]]. Com isso, no passo i =2, compara-se P com A T [2] e, como P T [A T [2]], no passo i =3 compara-se P com A T [3] e P = 3 T [A T [3]] = AGA$, encontrando-se a ocorrência de P em A T [3], isto é, P ocorre em T [4]. i A T [i] T [A T [i]] 1 7 $ 2 6 A$ AGA$ ATAGA$ GA$ 6 1 GATAGA$ 7 3 TAGA$ Figura 1. Busca por P [1, 3] = AGA em A T para T = GAT AGA$ Vetores de sufixo podem ser generalizados para indexar conjuntos de cadeias de caracteres [Gusfield 1997]. Seja C = {T 1,..., T n } um conjunto com n cadeias, o vetor de sufixo generalizado para o conjunto C, denotado por G C, é um vetor com todos os sufixos T j [i] de todas as cadeia T j C ordenados lexicograficamente. Cada sufixo é representado por um par de inteiros (i, j), denotando o sufixo i da cadeia T j, isto é, o sufixo T j [i]. Vetores de sufixo generalizados podem ser utilizados para encontrar subcadeias em comum e determinar a maior subcadeia entre todas as cadeias T j C. 3. Trabalhos Correlatos Na literatura, diversos trabalhos tem sido propostos voltados à melhoria do desempenho da etapa de construção de vetores de sufixo em memória, sendo que uma revisão des- 89

4 ses trabalhos pode ser encontrada em Puglisi et al. (2007). Já trabalhos relacionados à etapa de consulta, com destaque para Abouelhoda et al. (2004) e Choi e Park (2004), utilizam estruturas auxiliares para melhorar essa etapa. Por fim, trabalhos que enfocam indexação por meio de vetores de sufixo generalizados, tais como as propostas de Pinho et al. (2009) e Arnold e Ohlebusch (2011), consideram a estrutura apenas em memória primária. No entanto, trabalhos correlatos que enfocam a memória primária, em sua maioria, executam muitos acessos aleatórios à memória, o que impossibilita sua adaptação direta para manipulação de vetores de sufixo em disco. Assim, vetores de sufixo em memória primária são raramente utilizados para o processamento de grandes cadeias de entrada [Dementiev et al. 2008]. Diferentemente desses trabalhos correlatos, este projeto de mestrado visa a proposta de um índice biológico persistente, ou seja, para disco. Com relação aos trabalhos correlatos voltados à construção de vetores de sufixo em disco, o trabalho de Gonnet et al. (1992) descreve a primeira proposta para construir vetores de sufixo em disco. O trabalho de Crauser e Ferragina (2002) estende e compara soluções já existentes de construção em memória primária para a construção em disco. Entretanto, essas soluções não são eficientes e os testes realizados consideram apenas pequenas cadeias de entrada. Em contrapartida, o trabalho de Dementiev et al. (2008) introduz algoritmos mais eficientes, considerando cadeias de entrada de até 4GB. Por fim, o trabalho de Ferragina et al. (2012) propõe um algoritmo que utiliza pouca memória auxiliar e é mais rápido, na prática, do que os investigados posteriormente. A etapa de consulta torna-se ainda mais importante em vetores de sufixo em disco. Desde que a pesquisa sobre vetores de sufixo envolve busca binária, há o problema do grande número de acessos a disco durante essas consultas. Trabalhos que tratam da eficiência do processamento de consultas sobre vetores de sufixos em disco são descritos por Baeza-Yates et al. (1996), Sinha et al. (2008) e Moffat et al. (2009). Esses trabalhos buscam prover uma melhor organização da estrutura de dados em disco para favorecer leituras sequenciais. No entanto, no contexto de bioinformática, trabalhos correlatos que enfocam vetores de sufixo para disco limitam-se à indexação de apenas uma sequência biológica pertencente ao BDB. Esse projeto de mestrado visa suprir essa limitação, por meio da proposta de um índice biológico generalizado persistente. 4. Proposta 4.1. Descrição Este projeto de mestrado visa a indexação persistente de conjuntos de cadeias utilizando vetores de sufixo. Pretende-se propor algoritmos relacionados aos vetores de sufixo para disco considerando extensões de suas estruturas de dados para indexar conjuntos de sequências armazenadas em BDBs. Em detalhes, pretende-se investigar a construção e a manipulação de vetores de sufixo generalizados armazenados em disco, e a realização de pesquisa por similaridade sobre esses vetores de sufixo generalizados persistentes Validação A validação dos resultados obtidos será realizada por meio de testes de desempenho visando comparar as estratégias propostas com trabalhos correlatos existentes na literatura, em especial os trabalhos de Ferragina et al. (2012) e Moffat et al. (2009), os quais constituem, respectivamente, o estado da arte na etapa de construção e de consulta em vetores 90

5 de sufixo em disco. Quatro aspectos devem ser considerados nos testes de desempenho do índice proposto: (i) tempo gasto para construir o índice; (ii) quantidade de memória auxiliar utilizada pelo algoritmo de construção; (iii) espaço necessário em disco para armazenar a estrutura de dados construída; e (iv) tempo gasto para realizar consultas. Os tipos de dados a serem usados serão dados relacionados às sequências biológicas armazenadas em BDBs. Os tipos de dados a serem usados serão dados relacionados às sequências biológicas armazenadas em BDBs. Os dados serão reais, obtidos em BDBs públicos disponíveis na WEB, como os obtidos em nih.gov/. Os testes realizados sobre o índice enfocarão aspectos de construção do índice e de realização de consultas. Com relação à construção do índice, será coletado o espaço em bytes ocupado pelo índice, o espaço utilizado como memória auxiliar, e o tempo gasto em segundos para a sua construção. Com relação ao processamento de consultas, as análises serão realizadas em termos do tempo gasto em segundos e do número de acessos a disco. 5. Atividades em Andamento As atividades de mestrado em andamento estão concentradas na etapa de construção do índice e na proposta de sua estrutura de dados. A etapa de construção está sendo desenvolvida considerando a indexação de conjuntos com grandes cadeias de entrada, as quais excedem a capacidade da memória primária disponível. O algoritmo de construção preliminar proposto é composto pelas seguintes etapas: (i) divisão das cadeias de entrada em partições que caibam em memória primária; (ii) construção de índices parciais referentes a cada partição; e (iii) união dos índices gerados. Em especial, a etapa de união dos vetores parciais vislumbra a incorporação da abordagem external memory two-phase multi-way merge-sort (2PMMS) [Garcia-Molina et al. 1999], considerando otimizações específicas para ordenação de sufixos. Três aspectos importantes estão sendo enfocados no desenvolvimento do algoritmo de construção proposto. O primeiro refere-se a minimizar a quantidade de memória auxiliar utilizada com o objetivo de maximizar a quantidade de memória primária disponível e, consequentemente, diminuir o número de partições, além de reduzir o número de I/Os ao disco. O segundo refere-se à incorporação de um buffer-pool para armazenar estruturas auxiliares, como as propostas nos trabalhos correlatos, com o objetivo de manipular tais estruturas em memória primária e em disco. O terceiro aspecto corresponde ao aumento do tamanho da estrutura para armazenar o vetor de sufixo generalizado em disco. Em vetores de sufixo convencionais, não-generalizados, usa-se apenas uma variável inteira para cada sufixo indexado. Em contrapartida, vetores de sufixo generalizados devem considerar o armazenamento de duas variáveis inteiras para cada sufixo, as quais representam o sufixo e sua respectiva cadeia. 6. Considerações Finais e Próximas Atividades O vetor de sufixo é uma estrutura de dados muito utilizada em problemas que envolvem indexação e casamento exato de cadeias de caracteres. Entretanto, no contexto de indexação de BDBs, seu uso é limitado devido ao fato de que trabalhos que envolvem vetores de sufixo para disco consideram a indexação de apenas uma cadeia, e trabalhos que envolvem indexação de conjuntos de cadeias consideram apenas a estrutura em memória 91

6 primária. Dessa forma, este projeto de mestrado concentra-se na proposta de um índice para BDBs baseado em vetores de sufixo generalizados para disco. As próximas atividades a serem realizadas envolvem a finalização da proposta do algoritmo de construção do índice, a implementação desse algoritmo e a validação por meio de comparação com os trabalhos correlatos. Em seguida, será focada a etapa de consulta, juntamente com a elaboração de uma proposta otimizada à indexação de BDBs, além da implementação e validação dessa proposta. Referências Abouelhoda, M. I.Kurtz, S. and Ohlebusch, E. (2004). Replacing suffix trees with enhanced suffix arrays. Journal of Discrete Algorithms, 2(1): Altschul, S. F., Gish, W., Miller, W., Myers, E. W., and Lipman, D. J. (1990). Basic local alignment search tool. Journal of Molecular Biology, 215(3): Arnold, M. and Ohlebusch, E. (2011). Linear Time Algorithms for Generalizations of the Longest Common Substring Problem. Algorithmica, 60(4): Baeza-yates, R., Barbosa, E. F., and Ziviani, N. (1996). Hierarchies Of Indices For Text Searching. Rockefeller University, 21: Crauser, A. and Ferragina, P. (2002). A Theoretical and Experimental Study on the Construction of Suffix Arrays in External Memory. Algorithmica, 32(1):1 35. Dementiev, R., Kärkkäinen, J., Mehnert, J., and Sanders, P. (2008). Better external memory suffix array construction. ACM Journal of Experimental Algorithmics, 12:1 24. Ferragina, P., Gagie, T., and Manzini, G. (2012). Lightweight Data Indexing and Compression in External Memory. Algorithmica, 63(3): Garcia-Molina, H., Widom, J., and Ullman, J. D. (1999). Database System Implementation. Prentice-Hall, Inc., Upper Saddle River, NJ, USA. Gonnet, G. H., Baeza-yates, R., and Snider, T. (1992). New indices for text: PAT Trees and PAT arrays, pages Prentice-Hall, Inc., Upper Saddle River, NJ, USA. Gusfield, D. (1997). Algorithms on strings, trees, and sequences: computer science and computational biology. Cambridge University Press, New York, NY, USA. Manber, U. and Myers, E. W. (1993). Suffix Arrays: A New Method for On-Line String Searches. SIAM Journal on Computing, 22(5): Moffat, A., Puglisi, S. J., and Sinha, R. (2009). Reducing Space Requirements for Disk Resident Suffix Arrays. In Proceedings of the 14th International Conference on Database Systems for Advanced Applications, pages Pinho, A., Ferreira, P., Garcia, S., and Rodrigues, J. (2009). On finding minimal absent words. BMC Bioinformatics, 10(1):137. Puglisi, S. J., Smyth, W. F., and Turpin, A. H. (2007). A taxonomy of suffix array construction algorithms. ACM Computing Surveys, 39(2):1 31. Sinha, R., Puglisi, S. J., Moffat, A., and Turpin, A. (2008). Improving suffix array locality for fast pattern matching on disk. In Proceedings of the ACM SIGMOD International Conference on Management of Data, pages

Melhorando o Desempenho de Árvores de Sufixo na Indexação de Grandes Seqüências de Nucleotídeos

Melhorando o Desempenho de Árvores de Sufixo na Indexação de Grandes Seqüências de Nucleotídeos Melhorando o Desempenho de Árvores de Sufixo na Indexação de Grandes Seqüências de Nucleotídeos Caio César Mori Carélo 1 Profa. Dra. Cristina Dutra de Aguiar Ciferri Pós-Graduação em Ciências de Computação

Leia mais

Banco de Dados Biológicos conceitos básicos, indexação, VSTree

Banco de Dados Biológicos conceitos básicos, indexação, VSTree SCC0141 Bancos de Dados e suas Aplicações Banco de Dados Biológicos conceitos básicos, indexação, VSTree Felipe Alves da Louza Profª Cristina D. A. Ciferri Conteúdo Conceitos básicos Banco de dados biológicos

Leia mais

Hashing: conceitos. Hashing

Hashing: conceitos. Hashing Hashing: conceitos hashing é uma técnica conhecida como espalhamento, mapeamento ou randomização que tenta distribuir dados em posições aleatórias de uma tabela (array) associa cada objeto (de um determinado

Leia mais

Introdução. Estrutura de Dados II Prof Jairo Francisco de Souza

Introdução. Estrutura de Dados II Prof Jairo Francisco de Souza Introdução Estrutura de Dados II Prof Jairo Francisco de Souza Conteúdo Programático Parte 1 Manipulação de arquivos Ordenação, arquivos em série e sequências, classificação externa, arquivos de acesso

Leia mais

Árvore-B* Profa. Dra. Cristina Dutra de Aguiar Ciferri

Árvore-B* Profa. Dra. Cristina Dutra de Aguiar Ciferri Árvore-B* Profa. Dra. Cristina Dutra de Aguiar Ciferri Árvore-B* Proposta por Knuth em 1973 variação de árvore-b Característica cada nó contém, no mínimo, 2/3 do número máximo de chaves Posterga o split

Leia mais

Tipos de Índices. Profa. Dra. Cristina Dutra de Aguiar Ciferri

Tipos de Índices. Profa. Dra. Cristina Dutra de Aguiar Ciferri Tipos de Índices Cristina Dutra de Aguiar Ciferri Tipos de Índice Ordenados em um único nível primário agrupamento (cluster) secundário Estruturas de dados de árvores índices multiníveis árvores-b, árvores-b+

Leia mais

Arquivos invertidos 39

Arquivos invertidos 39 Arquivos invertidos 39 Arquivos invertidos É um mecanismo que utiliza palavras para indexar uma coleção de documentos a fim de facilitar a busca e a recuperação Estruturas de um arquivo invertido Vocabulário

Leia mais

A matemática e o genoma. Resumo

A matemática e o genoma. Resumo I Coloquio Regional da Região Centro-Oeste, 3 a 6 de novembro de 2009 Universidade Federal de Mato Grosso do Sul Mini-curso A matemática e o genoma Nalvo F. Almeida Jr. Resumo Os avanços da biotecnologia

Leia mais

Lista de Exercícios. Av. Trabalhador São-carlense, 400. centro. São Carlos - SP cep Brasil.

Lista de Exercícios. Av. Trabalhador São-carlense, 400. centro. São Carlos - SP cep Brasil. Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação Disciplina de Organização de Arquivos Profa. Dra. Cristina Dutra de Aguiar Ciferri Lista

Leia mais

Uso de Índices na Otimização e Processamento de Consultas. Otimização e Processamento de Consultas. Otimização e Processamento de Consultas

Uso de Índices na Otimização e Processamento de Consultas. Otimização e Processamento de Consultas. Otimização e Processamento de Consultas usuário processador de E/S gerador de respostas Uso de Índices na Otimização e Processamento de Consultas Profa. Dra. Cristina Dutra de Aguiar Ciferri analisador controle de autorização verificador de

Leia mais

Alinhamento de Sequências e Genômica Comparativa

Alinhamento de Sequências e Genômica Comparativa Encontro França-Brasil de Bioinformática Universidade Estadual de Santa Cruz (UESC) Ilhéus-BA - Brasil Alinhamento de Sequências e Genômica Comparativa Maria Emília M. T. Walter Departamento de Ciência

Leia mais

TÍTULO: ANÁLISE DA SEMELHANÇA ESTRUTURAL ENTRE PROTEÍNAS ATRAVÉS DE MÉTODOS MATEMÁTICOS

TÍTULO: ANÁLISE DA SEMELHANÇA ESTRUTURAL ENTRE PROTEÍNAS ATRAVÉS DE MÉTODOS MATEMÁTICOS Anais do Conic-Semesp. Volume 1, 2013 - Faculdade Anhanguera de Campinas - Unidade 3. ISSN 2357-8904 TÍTULO: ANÁLISE DA SEMELHANÇA ESTRUTURAL ENTRE PROTEÍNAS ATRAVÉS DE MÉTODOS MATEMÁTICOS CATEGORIA: CONCLUÍDO

Leia mais

GBC053 Gerenciamento de Banco de Dados. Plano de Curso e Introdução. Ilmério Reis da Silva UFU/FACOM/BCC

GBC053 Gerenciamento de Banco de Dados. Plano de Curso e Introdução. Ilmério Reis da Silva  UFU/FACOM/BCC GBC053 Gerenciamento de Banco de Dados Plano de Curso e Introdução Ilmério Reis da Silva ilmerio@ufu.br www.facom.ufu.br/~ilmerio/gbd UFU/FACOM/BCC Plano de Curso Ementa Arquitetura de um Sistema de Gerenciamento

Leia mais

Preliminares. Profa. Sheila Morais de Almeida. agosto

Preliminares. Profa. Sheila Morais de Almeida. agosto Preliminares Profa. Sheila Morais de Almeida DAINF-UTFPR-PG agosto - 2016 Algoritmos Definição - Skiena Algoritmo é a ideia por trás dos programas de computador. É aquilo que permanece igual se o programa

Leia mais

Ordenação e Busca em Arquivos

Ordenação e Busca em Arquivos Ordenação e Busca em Arquivos Cristina D. A. Ciferri Thiago A. S. Pardo Leandro C. Cintra M.C.F. de Oliveira Moacir Ponti Jr. Exemplos de Busca Registros de tamanho fixo M A R I A R U A b 1 S A O b C A

Leia mais

Medida do Tempo de Execução de um Programa. Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP

Medida do Tempo de Execução de um Programa. Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP Medida do Tempo de Execução de um Programa Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP Medida do Tempo de Execução de um Programa O projeto de algoritmos é fortemente influenciado pelo estudo

Leia mais

Classificação Externa: Geração de Partições Classificadas

Classificação Externa: Geração de Partições Classificadas Classificação Externa: Geração de Partições Classificadas Vanessa Braganholo Baseado no Material de: Inhaúma Neves Ferraz (IC/UFF) Cenário: Arquivos Sequencias } Acesso não pode ser feito em posições aleatórias

Leia mais

Compressão de Textos. Introdução. Introdução. Introdução. O volume de informação textual disponível on-line é imenso:

Compressão de Textos. Introdução. Introdução. Introdução. O volume de informação textual disponível on-line é imenso: Compressão de Textos Estrutura de Dados II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM O volume

Leia mais

Árvore-B + Profa. Dra. Cristina Dutra de Aguiar Ciferri

Árvore-B + Profa. Dra. Cristina Dutra de Aguiar Ciferri Árvore-B + Profa. Dra. Cristina Dutra de Aguiar Ciferri Acesso Sequencial Indexado Alternativas (até o momento) acesso indexado o arquivo pode ser visto como um conjunto de registros que são indexados

Leia mais

Tabelas Hash. Prof. Túlio Toffolo BCC202 Aulas 23 e 24 Algoritmos e Estruturas de Dados I

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

Leia mais

Aula 02: Custos de um algoritmo e funções de complexidade

Aula 02: Custos de um algoritmo e funções de complexidade MCTA028 Programação Estruturada Aula 02: Custos de um algoritmo e funções de complexidade Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 3Q-20106 1 Linguagem C: Tipos de dados 2 Linguagem C: Tipos

Leia mais

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

Árvore-B. Árvore B. Características Gerais. Sistemas de Banco de Dados. Características Gerais. Revisão Árvore B Profa. Dra. Cristina Dutra de Aguiar Ciferri Método genérico para o armazenamento e a recuperação de dados voltado para arquivos volumosos proporciona rápido acesso aos dados possui custo mínimo

Leia mais

Prof. Adriano Maranhão COMPILADORES

Prof. Adriano Maranhão COMPILADORES Prof. Adriano Maranhão COMPILADORES LINGUAGENS: INTERPRETADAS X COMPILADAS Resumo: Linguagem compilada: Se o método utilizado traduz todo o texto do programa, para só depois executar o programa, então

Leia mais

BC1424 Algoritmos e Estruturas de Dados I Aula 05 Custos de um algoritmo e funções de complexidade

BC1424 Algoritmos e Estruturas de Dados I Aula 05 Custos de um algoritmo e funções de complexidade BC1424 Algoritmos e Estruturas de Dados I Aula 05 Custos de um algoritmo e funções de complexidade Prof. Jesús P. Mena-Chalco 1Q-2016 1 1995 2015 2 Custo de um algoritmo e funções de complexidade Introdução

Leia mais

Busca em Memória Primária Estrutura de Dados II

Busca em Memória Primária Estrutura de Dados II Centro de Ciências Exatas, Naturais e de Saúde Departamento de Computação Busca em Memória Primária Estrutura de Dados II Estrutura de Dados II COM10078 2017-I Prof. Marcelo Otone Aguiar marcelo.aguiar@ufes.br

Leia mais

Busca em Memória Primária Estrutura de Dados II

Busca em Memória Primária Estrutura de Dados II Centro de Ciências Exatas, Naturais e de Saúde Departamento de Computação Busca em Memória Primária Estrutura de Dados II COM10078 Estrutura de Dados II Prof. Marcelo Otone Aguiar marcelo.aguiar@ufes.br

Leia mais

Pesquisa: operação elementar

Pesquisa: operação elementar Pesquisa: operação elementar uma das operações mais usadas em programação pesquisas em: vectores, matrizes, tabelas de registos, ficheiros, tipos de dados estruturados (hierarquicos),... necessidade de

Leia mais

Profa. Dra. Cristina Dutra de Aguiar Ciferri. Estruturas de Indexação de Dados

Profa. Dra. Cristina Dutra de Aguiar Ciferri. Estruturas de Indexação de Dados Estruturas de Indexação de Dados Cristina Dutra de Aguiar Ciferri Índice Estrutura de acesso auxiliar usada para melhorar o desempenho na recuperação de registros Pesquisa restringida a um subconjunto

Leia mais

Processamento Cosequencial: Ordenação Interna e Externa. Thiago A. S. Pardo Leandro C. Cintra M.C.F. de Oliveira Cristina D. A.

Processamento Cosequencial: Ordenação Interna e Externa. Thiago A. S. Pardo Leandro C. Cintra M.C.F. de Oliveira Cristina D. A. Processamento Cosequencial: Ordenação Interna e Externa Thiago A. S. Pardo Leandro C. Cintra M.C.F. de Oliveira Cristina D. A. Ciferri Ordenação em RAM Situação: arquivo cabe em RAM Etapas leitura de todos

Leia mais

ALGORITMOS DE ORDENAÇÃO

ALGORITMOS DE ORDENAÇÃO ALGORITMOS DE ORDENAÇÃO Prof. André Backes Conceitos básicos 2 Ordenação Ato de colocar um conjunto de dados em uma determinada ordem predefinida Fora de ordem 5, 2, 1, 3, 4 Ordenado 1, 2, 3, 4, 5 OU 5,

Leia mais

Comparação dos algoritmos sequencial e paralelo para contagem de palavras e contexto

Comparação dos algoritmos sequencial e paralelo para contagem de palavras e contexto Comparação dos algoritmos sequencial e paralelo para contagem de palavras e contexto Eduardo Delazeri Ferreira, Francieli Zanon Boito, Aline Villavicencio 1. Introdução 1 Instituto de Informática - Universidade

Leia mais

Rastreamento de Objetos Baseado em Grafos. Casamento Inexato entre Grafos Relacionais com Atributos

Rastreamento de Objetos Baseado em Grafos. Casamento Inexato entre Grafos Relacionais com Atributos Rastreamento de Objetos Baseado em Casamento Inexato entre Grafos Relacionais com Atributos Exame de Qualificação de Mestrado Ana Beatriz Vicentim Graciano Orientador: Roberto M. Cesar Jr. Colaboradora:

Leia mais

ESTÁGIOS DOMINANTES FLEXÍVEIS EM SISTEMAS DE PRODUÇÃO FLOW SHOP HÍBRIDOS

ESTÁGIOS DOMINANTES FLEXÍVEIS EM SISTEMAS DE PRODUÇÃO FLOW SHOP HÍBRIDOS ESTÁGIOS DOMINANTES FLEXÍVEIS EM SISTEMAS DE PRODUÇÃO FLOW SHOP HÍBRIDOS João Vitor Moccellin Departamento de Engenharia de Produção Escola de Engenharia de São Carlos, Universidade de São Paulo. Av. Trabalhador

Leia mais

Bioinformática para o Citrus EST Project (CitEST)

Bioinformática para o Citrus EST Project (CitEST) Bioinformática para o Citrus EST Project (CitEST) Marcelo da Silva Reis 1 1 Instituto de Matemática e Estatística, Universidade de São Paulo 20 de maio de 2009 Organização da Apresentação Esta apresentação

Leia mais

Alinhamentos de Múltiplas Seqüências. Rogério T. Brito Orientador: José A. R. Soares

Alinhamentos de Múltiplas Seqüências. Rogério T. Brito Orientador: José A. R. Soares 1 Alinhamentos de Múltiplas Seqüências Rogério T. Brito Orientador: José A. R. Soares 2 Motivação Problema em Biologia: saber qual é o grau de parentesco entre um conjunto de espécies (construção de árvores

Leia mais

8 Conclusão 8.1 Contribuição

8 Conclusão 8.1 Contribuição 8 Conclusão 8.1 Contribuição O crescente volume e a distribuição de dados e processos em Bioinformática torna cada vez mais fácil as descobertas de novas informações biológicas. Entretanto, como são inúmeras

Leia mais

Otimização. Conceitos Fundamentais. Paulo Henrique Ribeiro Gabriel Faculdade de Computação Universidade Federal de Uberlândia 2016/2

Otimização. Conceitos Fundamentais. Paulo Henrique Ribeiro Gabriel Faculdade de Computação Universidade Federal de Uberlândia 2016/2 Otimização Conceitos Fundamentais Paulo Henrique Ribeiro Gabriel phrg@ufu.br Faculdade de Computação Universidade Federal de Uberlândia 2016/2 Paulo H. R. Gabriel (FACOM/UFU) GSI027 2016/2 1 / 30 Agradecimentos

Leia mais

IMPLEMENTAÇÃO DE UM ÍNDICE INVERTIDO PARA INDEXAR DOCUMENTOS DE TEXTO LONGO UTILIZANDO ÁRVORE B+ E FUNÇÃO HASH.

IMPLEMENTAÇÃO DE UM ÍNDICE INVERTIDO PARA INDEXAR DOCUMENTOS DE TEXTO LONGO UTILIZANDO ÁRVORE B+ E FUNÇÃO HASH. IMPLEMENTAÇÃO DE UM ÍNDICE INVERTIDO PARA INDEXAR DOCUMENTOS DE TEXTO LONGO UTILIZANDO ÁRVORE B+ E FUNÇÃO HASH. Edmilson dos Santos de Jesus - ed@edmilson.eti.br Jorge Sampaio Farias - jfarias@actha.com.br

Leia mais

Aula 21 Ordenação externa

Aula 21 Ordenação externa MC3305 Algoritmos e Estruturas de Dados II Aula 21 Ordenação externa Slides adaptados de Brian Cooper (Yahoo Research) Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 2Q-2015 1 Números de Ackermann

Leia mais

INTERCALAÇÃO E ORDENAÇÃO DE ARQUIVOS POR ALGORITMOS DE FUSÃO

INTERCALAÇÃO E ORDENAÇÃO DE ARQUIVOS POR ALGORITMOS DE FUSÃO INTERCALAÇÃO E ORDENAÇÃO DE ARQUIVOS POR ALGORITMOS DE FUSÃO Wagner Arbex* Leonardo Evangelista Reis Izaias** Fernando Vilarino** Gabriella Castro Barbosa Costa** Mayara Mendes Paiva** Fernanda Rebelatto

Leia mais

Ordenação Externa. Ordenação Externa. Ordenação Externa. Ordenação Externa

Ordenação Externa. Ordenação Externa. Ordenação Externa. Ordenação Externa Ordenação Externa Ordenação Externa Estrutura de Dados II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação

Leia mais

Marcelo Keese Albertini Faculdade de Computação Universidade Federal de Uberlândia

Marcelo Keese Albertini Faculdade de Computação Universidade Federal de Uberlândia Introdução à Análise de Algoritmos Marcelo Keese Albertini Faculdade de Computação Universidade Federal de Uberlândia Aula de hoje Nesta aula veremos: Sobre a disciplina Exemplo: ordenação Sobre a disciplina

Leia mais

Algoritmos e Estruturas de Dados II. Ordenação Externa II. Ordenação Externa. Ordenação Externa. Ordenação Externa.

Algoritmos e Estruturas de Dados II. Ordenação Externa II. Ordenação Externa. Ordenação Externa. Ordenação Externa. Algoritmos e Estruturas de Dados II Ordenação Externa II Profa. Debora Medeiros As análises dos métodos de ordenação tradicionais se preocupam basicamente com o tempo de execução dos algoritmos Ordem computacional

Leia mais

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

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 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 Tópicos Introdução Árvore digital Árvore digital binária

Leia mais

Dados Espaciais e Indexação

Dados Espaciais e Indexação Dados Espaciais e Indexação Cristina Dutra de Aguiar Ciferri Arthur Emanuel de O. Carosia 1 Tipos de Dados Espaciais Ponto: menor unidade possível para representar um objeto espacial. Linha: seqüência

Leia mais

Comparando, Distribuindo e Ordenando

Comparando, Distribuindo e Ordenando Capítulo 5 Comparando, Distribuindo e Ordenando Algoritmos de ordenação podem ser agrupados tendo-se como base o comportamento da sua função de custo: Quadrática, NlogN e Linear. Os algoritmos de custo

Leia mais

Classificação Externa: Geração de Partições Classificadas

Classificação Externa: Geração de Partições Classificadas Classificação Externa: Geração de Partições Classificadas Vanessa Braganholo Baseado no Material de: Inhaúma Neves Ferraz (IC/UFF) Importância da Ordenação/Classificação } Vimos até agora várias operações

Leia mais

Descritores de Imagens

Descritores de Imagens Descritores de Imagens André Tavares da Silva PPGCA/UDESC Outubro de 2017 André Tavares da Silva (PPGCA/UDESC) Descritores de Imagens Outubro de 2017 1 / 17 Introdução Excelentes pesquisas sobre descritores

Leia mais

Hashing externo (II) Graça Nunes. Fonte: Folk & Zoelick, File Structures

Hashing externo (II) Graça Nunes. Fonte: Folk & Zoelick, File Structures Hashing externo (II) Graça Nunes Fonte: Folk & Zoelick, File Structures 1 Hashing Extensível Espalhamento Extensível (Extendible Hashing): permite um auto-ajuste do espaço de endereçamento do espalhamento

Leia mais

Aprendizado de Máquina

Aprendizado de Máquina Aprendizado de Máquina Template Matching Luiz Eduardo S. Oliveira Universidade Federal do Paraná Departamento de Informática http://lesoliveira.net October 25, 2012 Luiz S. Oliveira (UFPR) Aprendizado

Leia mais

Projeto e Análise de Algoritmos

Projeto e Análise de Algoritmos Projeto e Análise de Algoritmos Aula 02 Técnicas de Projeto de Algoritmos (Força Bruta) Edirlei Soares de Lima Tipos Importantes de Problemas Problemas de Ordenação: Reorganizar

Leia mais

INE5408 Estruturas de Dados. Gerência de Arquivos

INE5408 Estruturas de Dados. Gerência de Arquivos INE5408 Estruturas de Dados Gerência de Arquivos Introdução Arquivo: conjunto de dados em um dispositivo de armazenamento secundário (externo); tipicamente: disco, disquete, fita, CD-ROM, MO-Disc, Zip,

Leia mais

Introdução a Ciência da Computação Estrutura e Organização das Informações PROFESSORA CINTIA CAETANO

Introdução a Ciência da Computação Estrutura e Organização das Informações PROFESSORA CINTIA CAETANO Introdução a Ciência da Computação Estrutura e Organização das Informações PROFESSORA CINTIA CAETANO Introdução A qualidade do armazenamento dos dados, permitem uma melhor extração de informações, e consequentemente,

Leia mais

Operações Coseqüenciais. Processamento Coseqüencial. Modelo para implementação de processos coseqüenciais

Operações Coseqüenciais. Processamento Coseqüencial. Modelo para implementação de processos coseqüenciais Processamento Coseqüencial Leandro C. Cintra M.C.F. de Oliveira Fonte: Folk & Zoelick, File Structures Operações Coseqüenciais Envolvem o processamento coordenado (simultâneo) de duas ou mais listas de

Leia mais

Algoritmos Combinatórios: Introdução

Algoritmos Combinatórios: Introdução lucia@site.uottawa.ca UFSC, Fevereiro, 2010 Estruturas e Problemas Combinatórios Introdução a Algoritmos Combinatórios O que são: Estruturas Combinatórias? Algoritmos Combinatórios? Problemas Combinatórios?

Leia mais

Algoritmos em Strings (compressão de texto)

Algoritmos em Strings (compressão de texto) Algoritmos em Strings (compressão de texto) R. Rossetti, A.P. Rocha, A. Pereira, P.B. Silva, T. Fernandes FEUP, MIEIC, CAL, 2010/2011 1 Teoria da Informação O que é? É uma ferramenta matemática para determinar

Leia mais

Efficient 1-D and 2-D Parallel Pattern Matching with Scaling

Efficient 1-D and 2-D Parallel Pattern Matching with Scaling Efficient 1-D and 2-D Parallel Pattern Matching with Scaling H. Mongelli and S. W. Song 26 de abril de 2004 0-0 CGM - Coarse-Grained Multicomputer Interconnection network... n/p n/p n/p n/p n/p Processor

Leia mais

Matrizes esparsas: definição

Matrizes esparsas: definição Matrizes esparsas: definição o objetivo é mostrar os métodos de armazenamento e manipulação de matrizes esparsas esparsidade de uma matriz é a relação entre o número de elementos nulos de uma matriz e

Leia mais

Bases de Dados. Índices. Discos. transferência rápida e aos bytes. transferência lenta e em blocos (512B ~ 4KB) memória. disco BD / aplicação

Bases de Dados. Índices. Discos. transferência rápida e aos bytes. transferência lenta e em blocos (512B ~ 4KB) memória. disco BD / aplicação Bases de Dados Índices Discos transferência lenta e em blocos (512B ~ 4KB) transferência rápida e aos bytes memória disco BD / aplicação 2 1 Discos 7200rpm = 120 rot/s 1 5 platters Ø 8.9 cm 50000 ~ 100000

Leia mais

Sumário. Índices Ordenados: Nível Único. Índices Primários. Bancos de Dados Avançados Índices. Índices: Ordenados em nível único Multiníveis

Sumário. Índices Ordenados: Nível Único. Índices Primários. Bancos de Dados Avançados Índices. Índices: Ordenados em nível único Multiníveis Sumário Bancos de Dados Avançados Índices DCC030 - TCC: Bancos de Dados Avançados (Ciência Computação) DCC049 - TSI: Bancos de Dados Avançados (Sistemas Informação) DCC842 - Bancos de Dados (Pós-Graduação)

Leia mais

Estrutura de dados 1. Processamento de Cadeias de Caracteres

Estrutura de dados 1. Processamento de Cadeias de Caracteres Estrutura de dados 1 Processamento de Cadeias de Caracteres Casamento de Cadeias Casamento de Cadeias Casamento Exato Casamento Aproximado Compressão Por Que Usar Compressão Compressão de Textos em Linguagem

Leia mais

Estrutura de Dados II

Estrutura de Dados II Estrutura de Dados II Apresentação Prof. Márcio Bueno ed2tarde@marciobueno.com / ed2noite@marciobueno.com Ementa Proporcionar ao aluno conhecimento teórico e prático para seleção, construção e manipulação

Leia mais

Tabelas de dispersão/hash

Tabelas de dispersão/hash Tabelas de dispersão/hash 1 Tabelas de dispersão/hash 1. Considere uma tabela de hash de tamanho m = 1000 e a função de hash h(k)= [m.(k.a % 1)], com A=( 5-1)/2. Calcule os valores de hash das chaves 61,

Leia mais

Análise de Algoritmos

Análise de Algoritmos Análise de Algoritmos Parte 1 Prof. Túlio Toffolo http://www.toffolo.com.br BCC202 Aula 04 Algoritmos e Estruturas de Dados I Qual a diferença entre um algoritmo e um programa? Como escolher o algoritmo

Leia mais

4. Algoritmos de Busca em Vetores

4. Algoritmos de Busca em Vetores Introdução à Computação II 5952011 4. Algoritmos de Busca em Vetores Prof. Renato Tinós Local: Depto. de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 4.1. Introdução 4.2. Busca Linear 4.2.1.

Leia mais

Matemática Discreta 12

Matemática Discreta 12 Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Matemática Discreta 12 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br - www.univasf.edu.br/~jorge.cavalcanti 1 Introdução

Leia mais

Índice Bitmap e Indexação de Ambientes de Data Warehousing

Índice Bitmap e Indexação de Ambientes de Data Warehousing Índice itmap e Indexação de Ambientes de Data Warehousing Jaqueline Joice rito jjbrito@icmc.usp.br 3 de Junho de 23 Roteiro Índice itmap Técnicas de otimização Adaptação da apresentação de Sérgio L. Díscola

Leia mais

Um Algoritmo para Paginação de Árvores Binárias Baseado em Empacotamento Unidimensional. 1 Introdução

Um Algoritmo para Paginação de Árvores Binárias Baseado em Empacotamento Unidimensional. 1 Introdução Um Algoritmo para Paginação de Árvores Binárias Baseado em Empacotamento Unidimensional Rui Alberto Ecke Tavares and Elias Procópio Duarte Jr Universidade Federal do Paraná Departamento de Informática

Leia mais

Análise de dados provenientes de técnicas moleculares

Análise de dados provenientes de técnicas moleculares CIIMAR Curso de formação Análise de dados provenientes de técnicas moleculares Formadores: Filipe Pereira e Filipe Lopes Manual do Curso 1 Índice Objetivo Geral do Curso... 3 Público-alvo... 3 Objetivos

Leia mais

MATA60 BANCO DE DADOS Aula: Otimização. Prof. Daniela Barreiro Claro

MATA60 BANCO DE DADOS Aula: Otimização. Prof. Daniela Barreiro Claro MATA60 BANCO DE DADOS Aula: Otimização Prof. Daniela Barreiro Claro Introdução a Otimização SQL, SQL3 e OQL são linguagens declarativas O SGBD deve processar e otimizar estas consultas antes delas serem

Leia mais

ACH2025. Laboratório de Bases de Dados Aula 8. Indexação e Hashing Parte 1. Professora: Fátima L. S. Nunes SISTEMAS DE INFORMAÇÃO

ACH2025. Laboratório de Bases de Dados Aula 8. Indexação e Hashing Parte 1. Professora: Fátima L. S. Nunes SISTEMAS DE INFORMAÇÃO ACH2025 Laboratório de Bases de Dados Aula 8 Indexação e Hashing Parte 1 Professora: Fátima L. S. Nunes Conceitos básicos Boa parte das consultas a BD referem-se a apenas uma parte pequena dos registros.

Leia mais

RECONHECIMENTO DE GÊNERO ATRAVÉS DA VOZ

RECONHECIMENTO DE GÊNERO ATRAVÉS DA VOZ RECONHECIMENTO DE GÊNERO ATRAVÉS DA VOZ Marcela Ribeiro Carvalho marcela@enecar.com.br IFG/Câmpus Goiânia Hipólito Barbosa Machado Filho hipolito.barbosa@ifg.edu.br IFG/Câmpus Goiânia Programa Institucional

Leia mais

Este capítulo possui uma discussão preliminar do contexto biológico necessário para o entendimento e motivação deste trabalho.

Este capítulo possui uma discussão preliminar do contexto biológico necessário para o entendimento e motivação deste trabalho. 17 2 Preliminares Este capítulo possui uma discussão preliminar do contexto biológico necessário para o entendimento e motivação deste trabalho. Na discussão do contexto biológico serão apresentados os

Leia mais

Estrutura de indexação de arquivos

Estrutura de indexação de arquivos Estrutura de indexação de arquivos Neste capítulo assume-se que um arquivo já existe e possui alguma organização primária desordenada ordenada ou hash Utiliza-se índices, que são estruturas de acesso adicionais

Leia mais

Estruturas de Dados 2

Estruturas de Dados 2 Estruturas de Dados 2 Técnicas de Projeto de Algoritmos Força Bruta IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 1/36 Técnica de Projeto de Algoritmos por Força

Leia mais

Tópicos Avançados em Algoritmos

Tópicos Avançados em Algoritmos Tópicos Avançados em Algoritmos Armando Matos 2008 Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto 2 Tópicos Avançados de Algoritmos Armando B. Matos DCC-FC-UP 2009

Leia mais

Capítulo 8: Memória Principal. Operating System Concepts 8 th Edition

Capítulo 8: Memória Principal. Operating System Concepts 8 th Edition Capítulo 8: Memória Principal Silberschatz, Galvin and Gagne 2009 Objetivos Fornecer uma descrição detalhada das várias formas de organizar a memória do computador Discutir várias técnicas de gerenciamento

Leia mais

Sistema de arquivos. Adriano J. Holanda 24/5/2016

Sistema de arquivos. Adriano J. Holanda 24/5/2016 Sistema de arquivos Adriano J. Holanda 24/5/2016 Sistema de arquivos Definição Interface entre os processos e os meios de armazenamento que fornece as abstrações e operações para a manipulação de bytes.

Leia mais

Processamento e Análise de Imagens

Processamento e Análise de Imagens Processamento e Análise de Imagens Prof. Moacir Ponti www.icmc.usp.br/~moacir Instituto de Ciências Matemáticas e de Computação USP 2017/1 Moacir Ponti Jr. (ICMCUSP) Processamento e Análise de Imagens

Leia mais

4 C odigos de Huffman 4.1 Arvores de c odigo folhas os internos n ıvel altura Arvore bin aria arvore bin aria ordenada

4 C odigos de Huffman 4.1 Arvores de c odigo folhas os internos n ıvel altura Arvore bin aria arvore bin aria ordenada 4 Códigos de Huffman 4.1 Árvores de código Numa árvore qualquer, os nós que não têm filhos são chamados de folhas e os demais nós são chamados de nós internos. Se um nó de uma árvore é filho de outro,

Leia mais

Ordenação Externa. Profa. Graça Nunes

Ordenação Externa. Profa. Graça Nunes Ordenação Externa Profa. Graça Nunes Ordenação Externa Ordenar arquivos de tamanho maior que a memória interna disponível Algoritmos devem diminuir o número de acessos às unidades de memória externa Custo

Leia mais

Pesquisa Linear. Adriano J. Holanda 15/3/2016

Pesquisa Linear. Adriano J. Holanda 15/3/2016 Pesquisa Linear Adriano J. Holanda 15/3/2016 Busca Linear em memória principal Introdução O dados estarão sempre armazenados na memória principal (DRAM 1 ): não há necessidade de acesso à memória secundária

Leia mais

ESTRUTURA DE DADOS E ALGORITMOS. Hashing (Tabela de Dispersão) Cristina Boeres

ESTRUTURA DE DADOS E ALGORITMOS. Hashing (Tabela de Dispersão) Cristina Boeres ESTRUTURA DE DADOS E ALGORITMOS Hashing (Tabela de Dispersão) Cristina Boeres Motivação! Os métodos de pesquisa vistos até agora buscam informações armazenadas com base na comparação de suas chaves! Para

Leia mais

Complexidade de algoritmos Notação Big-O

Complexidade de algoritmos Notação Big-O Complexidade de algoritmos Notação Big-O Prof. Byron Leite Prof. Tiago Massoni Engenharia da Computação Poli - UPE Motivação O projeto de algoritmos é influenciado pelo estudo de seus comportamentos Problema

Leia mais

BUSCA EM ARRAYS. Prof. André Backes. Ato de procurar por um elemento em um conjunto de dados

BUSCA EM ARRAYS. Prof. André Backes. Ato de procurar por um elemento em um conjunto de dados BUSCA EM ARRAYS Prof. André Backes Definição 2 Ato de procurar por um elemento em um conjunto de dados Recuperação de dados armazenados em um repositório ou base de dados A operação de busca visa responder

Leia mais

Acesso Sequencial Indexado

Acesso Sequencial Indexado Acesso Sequencial Indexado Utiliza o princípio da pesquisa seqüencial cada registro é lido seqüencialmente até encontrar uma chave maior ou igual a chave de pesquisa. Providências necessárias para aumentar

Leia mais

Programas de Alinhamento. Sumário

Programas de Alinhamento. Sumário Programas de Alinhamento Departamento de Genética FMRP- USP Alynne Oya Chiromatzo alynne@lgmb.fmrp.usp.br Sumário Introdução para buscas em base de dados Fasta Blast Programa para alinhamento Clustal 1

Leia mais

Classificação e Pesquisa de Dados. Aula 23 Organização de Arquivos: Arquivos Indexados, Diretos e Arquivos Invertidos

Classificação e Pesquisa de Dados. Aula 23 Organização de Arquivos: Arquivos Indexados, Diretos e Arquivos Invertidos Classificação e Pesquisa de Dados Aula 23 Organização de Arquivos: Arquivos Indexados, Diretos e Arquivos Invertidos UFRGS INF1124 Arquivo indexado - AI Indicação de uso Baixa freqüência de acessos seqüenciais

Leia mais

Transformação de Chave. (Hashing)

Transformação de Chave. (Hashing) UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA Transformação de Chave (Hashing) e Gomes da Costa yandre@din.uem.br 1 Transformações de Chave, ou Tabela Hash, ou Tabelas de Dispersão; Hashing

Leia mais

Processamento de Produtos ( X )

Processamento de Produtos ( X ) Processamento de Produtos ( X ) Alternativas e suas estimativas de custo A: laço aninhado ( nested-loop ) A: laço aninhado com índice ( indexed nestedloop ) A: merge-junção ( balanced-line ou sortmerge

Leia mais

Pré-Processamento de Documentos

Pré-Processamento de Documentos Pré-Processamento de Documentos Introdução Pré-Processamento : Análise léxica; Stopwords; Stemming; Vocabulário; Thesaurus Compressão: Fundamentos; Método Estatístico; Método Dicionário; Arquivos Invertidos

Leia mais

Estrutura de Dados. Plano de Ensino. Vilson Heck Junior. Campus Lages. Instituto Federal de Santa Catarina

Estrutura de Dados. Plano de Ensino. Vilson Heck Junior. Campus Lages. Instituto Federal de Santa Catarina Estrutura de Dados Plano de Ensino Vilson Heck Junior Instituto Federal de Santa Catarina Campus Lages Sumário 1 Sumário 2 Plano de Ensino Competências, Habilidades e Atitudes Bases Tecnológicas Instrumentos

Leia mais

Recuperação de Informações

Recuperação de Informações Recuperação de Informações Ana Carolina Salgado & Fernando Fonseca Comparação (matching) Dados Inferência Modelo Ling Consulta Esp da Consulta Recuperação de Dado X Informação Recuperação de Recuperação

Leia mais

Tipos de Dados Biológicos e Multimídia

Tipos de Dados Biológicos e Multimídia Tipos de Dados Biológicos e Multimídia Arthur Emanuel de O. Carosia Felipe Alves da Louza Luana Peixoto Annibal 1 Dados Biológicos São dados ou medidas coletadas a partir de fontes biológicas São geralmente

Leia mais

Algoritmos de Ordenação: Tempo Linear

Algoritmos de Ordenação: Tempo Linear Algoritmos de Ordenação: Tempo Linear ACH2002 - Introdução à Ciência da Computação II Delano M. Beder Escola de Artes, Ciências e Humanidades (EACH) Universidade de São Paulo dbeder@usp.br 10/2008 Material

Leia mais

Lista de Exercícios sobre Listas Implementadas por Encadeamento

Lista de Exercícios sobre Listas Implementadas por Encadeamento Lista de Exercícios sobre Listas Implementadas por Encadeamento 1) Se você tem de escolher entre uma representação por lista encadeada ou uma representação usando posições contíguas de memória para um

Leia mais

Tabelas de Dispersão - Introdução (1)

Tabelas de Dispersão - Introdução (1) Algoritmos e Estruturas de Dados LEE 2013/14 Tabelas de Dispersão Tabelas de Dispersão - Introdução (1) As tabelas de dispersão (hash tables) são estruturas de dados adequadas para: Tabelas de símbolos

Leia mais

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

Edital de Seleção 024/2017 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões Edital de Seleção 024/2017 PROPESP/UFAM Prova de Conhecimento Caderno de Questões CANDIDATO: «Nome» INSCRIÇÃO: «Inscrição» Assinatura conforme identidade INSTRUÇÕES PARA O CANDIDATO: Verifique o seu nome

Leia mais