CCT-UFCA/Matemática Computacional/Algoritmos e Estrutura de Dados
CCT-UFCA/Matemática Computacional
Programa do Componente Curricular
[editar | editar código]| Código: | MC0043 | ||||||||
| Componente Curricular: | Algoritmos e Estrutura de Dados | ||||||||
| Semestre de Oferta: | 3º | Tipo: | Disciplina | Caráter: | Obrigatória | ||||
| Unidade Acadêmica Responsável: | Centro de Ciências e Tecnologia - CCT | ||||||||
| Área: | |||||||||
| Créditos: | 06 | Carga horária: | 96h | Teórica: | 96h | Prática | - | Extensão: | - |
| Pré-requisito: | Introdução à Programação; Fundamentos de Matemática Discreta | ||||||||
| Co-requisito: | |||||||||
| Equivalência: | (CC0006 ou MC0008) e (CC0012 ou MC0013) | ||||||||
Objetivos
[editar | editar código]Introduzir noções básicas de complexidade de algoritmos e técnicas básicas para comparação dos tempos de execução dos algoritmos estudados. Introdução a algoritmos de ordenação. Apresentar as diversas estruturas de dados fundamentais, como estruturas lineares Implementação de algoritmos de ordenação. Implementação de Estruturas de Dados lineares: listas, filas e pilhas. Implementação de Estruturas de Dados não-lineares: árvores, árvores binárias de busca e heaps.
Conteúdo Programático
[editar | editar código]com alocação sequencial e dinâmica (vetores, listas encadeadas, pilhas, filas, etc.); estruturas não lineares (árvores binárias de busca), os algoritmos básicos para a sua manipulação. Apresentar estruturas de árvores balanceadas (AVL, rubro-negra), e listas de prioridades (heaps). Apresentar conceitos e algoritmos de estruturas de dados em armazenamento secundário (Árvores B e Árvores B+) e tabelas de dispersão. Apresentar a importância da escolha da estrutura de dados e algoritmos adequados para a resolução de problemas de maneira eficiente.
Ementa
[editar | editar código]Tipos abstratos de dados. Noções de análise de complexidade de algoritmos. Algoritmos de ordenação. Estruturas de dados simples: listas, filas e pilhas. Estruturas de dados avançadas e seus algoritmos: árvores binárias de busca; árvores binárias de busca balanceadas (AVL e rubro-negras); heaps e heapsort; árvores B e B+; tabelas de dispersão.
Bibliografia Básica
[editar | editar código]SZWARCFITER, J. L.; MARKEZON, L. Estruturas de Dados e seus Algoritmos. 3ª ed. LTC, 2010. 320p. ISBN-10 : 852161750X, ISBN-13 : 978-8521617501.
CORMEN, T. H.; LEISERSON, C. E.; RIVEST, R. L.; STEIN, C. Algoritmos: teoria e prá tica. 3ª ed. LTC, 2012. 944p. ISBN-10 : 8535236996,
ISBN-13 : 978-8535236996. Ziviani, N. Projeto de algoritmos: com implementações em Java e C++. 1ª ed. Cengage Learning, 2006. 644p. ISBN-10 : 8522105251, ISBN-13 : 978-8522105250.
Bibliografia Complementar
[editar | editar código]SEDGEWICK, R.; WAYNE, K. Algorithms. 4th ed. Addison-Wesley Professional, 2011. 992p. ISBN-10: 032157351X, ISBN-13: 978-0321573513.
CORMEN, T. H.; LEISERSON, C. E.; RIVEST, R. L.; STEIN, C. Introduction to Algorithms. 3rd ed. The MIT Press, 2009, 1292p. ISBN-10: 9780262033848,
ISBN-13: 978 0262033848 EDMONDS, J. Como Pensar sobre algoritmos. 1ªed. LTC, 2010, 300p. ISBN-10: 8521617313, ISBN-13: 978-8521617310. DASGUPTA, S.; PAPADIMITRIOU, C.; VAZIRANI, U. Algoritmos. 1ºed. McGraw Hill, 2009, 336p. ISBN-10: 8577260321, ISBN-13: 978-8577260324.
DASGUPTA, S.; PAPADIMITRIOU, C.; VAZIRANI, U. Algorithms. 1ºed. McGraw Hill, 2006, 320p. ISBN-10: 9780073523408, ISBN-13: 978-0073523408.