Disciplinas Obrigatórias
2° período
Código:
BiSuCOM.502
Nome da disciplina:
Algoritmos e Estruturas de Dados II
Carga horária total:
60 h
Abordagem metodológica:
Teórico-Prática
Natureza:
Obrigatória
Carga horária teórica:
30 h
Carga horária prática:
30 h
Ementa:
Tipos Abstratos de dados (TAD). Listas Lineares (Listas, Pilhas e Filas): alocação estática e acesso sequencial, alocação dinâmica e acesso encadeado. Ordenação de Listas Lineares. Introdução às estruturas não-lineares: Árvores, Árvore Binária de Busca. Bibliotecas: utilização de bibliotecas da linguagem e criação de bibliotecas personalizadas. Arquivos.

Objetivo(s):

Objetivo Geral:

Compreender e praticar técnicas de abstração empregadas na implementação de tipos abstratos de dados lineares e não lineares, a utililização e criação de bibliotecas e a realização da persistência de dados em arquivos.

Objetivos Específicos:

Selecionar a estrutura de dados e os algoritmos mais adequados para um problema. Compreender as estruturas de dados, algoritmos associados e sua inter-relação. Compreender e implementar a abstração de dados e tipos abstratos de dados. Empregar corretamente alocação estática e dinâmica de memória às estruturas estudadas. Conhecer e utilizar tipos para estruturas de dados disponíveis em bibliotecas de programação de aplicativos (API) de linguagens de programação.

Bibliografia básica:

ASCENCIO, Ana Fernanda Gomes; ARAÚJO, Graziela Santos de. Estruturas de dados: algoritmos, análise de complexidade e implementações em Java e C++. 1. ed. São Paulo: Pearson, 2010. 433 p. ISBN 9788576058816. Disponível em <https://pergamum.ifmg.edu.br/acervo/5018315>. Acesso em: 6 de Setembro de 2024.

PEREIRA, Silvio do Lago. Estruturas de dados fundamentais: Conceitos e aplicações. 12. ed. São Paulo: Érica, 2008. 264 p. ISBN 9788571943704. Acervo: 005.73 P436e.

ZIVIANI, Nivio. Projeto de algoritmos: com implementações em Java e C++. 1. ed. São Paulo: Thomson Learning, 2007. 621 p. ISBN 005.1 Z82p. Acervo: 005.1 Z82p.

Bibliografia complementar:

LITNZMAYER, Carla Negri; MOTA, Guilherme Oliviera. Análise de Algoritmos e Estrutura de Dados. 1. ed. São Paulo: Independente, 2023. 425 p. Disponível em <http://professor.ufabc.edu.br/~carla.negri/cursos/materiais/Livro-Analise.de.Algoritmos.pdf>. Acesso em: 6 de Setembro de 2024.

CORMEN, Thomas H. [et. al.]. Algoritmos: Teoria e prática. 1. ed. Rio de Janeiro: Elsevier, 2002. 916 p. ISBN 9788535209266. Acervo: 005.1 A396.

ZIVIANI, Nívio. Projeto de algoritmos: Com implementações em PASCAL e C. 3. ed. São Paulo: Cengage Learning, 2011. 639 p. ISBN 9788522110506. Acervo: 005.1 Z82p.

DEITEL, Harvey M.; DEITEL, Paul J.. Como Programar em C++. 3. ed. Rio de Janeiro: Guanabara Koogan, 2001. 486 p. ISBN 8521611919. Acervo: 005.13 D324c.

CPLUSPLUS. The C++ Language Tutorial. 1. ed. : CPlusPlus.com, 2023. 1 p. Disponível em <https://cplusplus.com/doc/tutorial/>. Acesso em: 14 de Outubro de 2024.