fundamentaÇÃo legal disciplina/unidade … · capacitar os discentes a realizar análise,...
TRANSCRIPT
Ministério da Educação
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ
Câmpus Toledo
PLANO DE ENSINO
CURSO Graduação em Engenharia de Computação MATRIZ 21
FUNDAMENTAÇÃO
LEGAL Resolução nº 024/2014 do COGEP em 24 de abril de 2014.
DISCIPLINA/UNIDADE CURRICULAR CÓDIGO PERÍODO CARGA HORÁRIA (aulas)
Pesquisa e Classificação de Dados CP43F 3º AT AP APS AD APCC Total 34 34 04 00 00 72
AT: Atividades Teóricas, AP: Atividades Práticas, APS: Atividades Práticas Supervisionadas, AD: Atividades a Distância, APCC: Atividades
Práticas como Componente Curricular.
PRÉ-REQUISITO CP42F EQUIVALÊNCIA Não há.
OBJETIVOS
Capacitar os discentes a realizar análise, seleção e implementação dos principais métodos de pesquisa e classificação de
dados em memoria primária e secundária, estudar e aplicar esses métodos no desenvolvimento de software.
EMENTA
Métodos de classificação de dados e de pesquisa em memória primária; Conceituação de arquivo, organizações básicas
e manipulação (métodos básicos); Índices: indexado-sequencial, B- Tree, B+, B* e outros; Hashing, ext. hash, e outros;
Arquivos invertidos; multilistas. Estruturas não convencionais: noções, dados no espaço em disco, dados textuais em
disco; Conceitos básicos de complexidade computacional.
CONTEÚDO PROGRAMÁTICO
ITEM EMENTA CONTEÚDO
1 Conceitos básicos de complexidade
computacional
Introdução à análise da complexidade de algoritmos
Critérios de complexidade, Notação assintótico; técnicas
de análise de algoritmos, Medida de Tempo de Execução
e Recorrência.
◦ Complexidade dos algoritmos de classificação
◦ Complexidade dos algoritmos de pesquisa
2 Métodos de classificação de dados e de
pesquisa em memória primária
Métodos de classificação de dados por troca, inserção,
seleção, partição, distribuição e intercalação:
◦ bubleSort, insertionSort e selectionSort
◦ shellSort, heapSort, quickSort e mergeSort
◦ countingSort, radixSort e bucketSort
◦ distributionSort e hashSort
Métodos de pesquisa de dados em memória primária:
◦ Pesquisa sequencial
◦ Pesquisa binária
◦ Árvores de Pesquisa
▪ Árvores Binárias de Pesquisa e AVL
▪ B-Tree, B+ e B*
◦ Árvores de Pesquisa Digital
▪ TRIE
▪ PATRICIAS
◦ Pesquisa com Transformação de Chaves
▪ Hashing e suas variações
3
Métodos de classificação de dados e de
pesquisa em memória secundária (Índices:
indexado-sequencial, B- Tree, B+, B* e
outros; Hashing, ext. hash, e outros;
multilistas)
Métodos de pesquisa de dados em memória secundária
◦ Acesso Sequencial Indexado
◦ Árvores de Pesquisa
▪ B-Tree, B+ e B*
◦ Hashing e Hash Extensível
▪ Métodos de Acesso
◦ Multilistas
4 Conceituação de arquivo, organizações
básicas e manipulação (métodos básicos);
Arquivos invertidos
Organização e manipulação de arquivos:
◦ Arquivos Sequenciais
◦ Arquivos Indexados
◦ Arquivos Invertidos
◦ Arquivos Textuais
5 Estruturas não convencionais: noções, dados
no espaço em disco, dados textuais em disco
Compressão de Arquivos
Codificação de itens
◦ Compressão de sequências
◦ Códigos de comprimento variável (Huffman)
PROCEDIMENTOS DE ENSINO AULAS TEÓRICAS As aulas teóricas consistirão de explanações expositivas e dialogadas, com exemplificação e/ou discussões dos assuntos
inerentes à disciplina. Será abordado como referencial teórico a bibliografia sugerida, enfatizando os principais assuntos. Após a finalização de
cada conteúdo será disponibilizado aos discentes um conjunto de exercícios práticos referente aos conceitos abordados. Para
as aulas teóricas será utilizado projetor multimídia, além de material digital disponibilizado no ambiente MOODLE. AULAS PRÁTICAS A bibliografia sugerida será utilizada como referencial teórico de estudo. Também serão propostas, aos discentes, o
desenvolvimento de atividades/projetos individuais e/ou em grupos para fixação da teoria apresentada. PROCEDIMENTOS DE AVALIAÇÃO A avaliação será composta por: avaliações, trabalhos e APS.
REFERÊNCIAS Referências Básicas:
TENENBAUM, A. M.; LANGSAM, Y.; AUGENSTEIN, M. Estruturas de dados usando C. São Paulo, SP: Pearson
Makron Books, c1995. xx, 884 p. ISBN 8534603480.
CORMEN, Thomas H. et al. Algoritmos: teoria e prática. Rio de Janeiro, RJ: Elsevier, 2012. xvi, 926 p. ISBN
9788535236996.
ZIVIANI, Nivio. Projeto de algoritmos: com implementações em Java e C++. São Paulo: Thomson, c2007. xx, 621 p.
ISBN 8522105251
Referências Complementares:
ZIVIANI, Nivio. Projeto de algoritmos: com implementações em Pascal e C. 2. ed. rev. ampl. São Paulo: Cengage
Learning, c2004. 552 p. ISBN 8522103909.
SILVA, O. Q. Estrutura de dados e algoritmos usando C: fundamentos e aplicações. Rio de Janeiro, RJ: Ciência
Moderna, 2007. xii, 460 p. ISBN 9788573936117.
TOSCANI, Laira Vieira; VELOSO, Paulo A. S. Complexidade de algoritmos: análise, projeto e métodos. 3. ed. Porto
Alegre, RS: Bookman, 2012. 262 p. (Livros didáticos informática UFRGS ; 13). ISBN 9788540701380.
DROZDEK, Adam. Estrutura de dados e algoritmos em C++. São Paulo, SP: Cengage Learning, c2002. xviii, 579 p.
ISBN 8522102593.
FEOFILOFF, Paulo. Algoritmos em linguagem C. Rio de Janeiro, RJ: Elsevier; Campus, 2009. ix, 208 p ISBN
9788535232493.
SCHILDT, Herbert. C, completo e total. 3. ed., rev. e atual. São Paulo, SP: Makron, c1997. xv, 827 p. ISBN 8534605955.
FORBELLONE, André Luiz Villar; EBERSPÄCHER, Henri Frederico. Lógica de programação: a construção de
algoritmos e estruturas de dados. 3. ed. São Paulo, SP: Makron, 2005. xii, 218 p. ISBN 9788576050247.