Ir para o conteúdo

CCT-UFCA/Matemática Computacional/Algoritmos e Estrutura de Dados

De Wikiversidade

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: 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.

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.