Habituar o aluno com as estruturas de dados lineares (pilhas, filas e listas) e não-lineares (árvores), habilitando-o para o desenvolvimento de outras atividades em ciências da computação.
Estruturas de dados lineares (pilhas, filas, listas), sequenciais e encadeadas, estáticas e dinâmicas, algoritmos e aplicações. Estruturas de dados não lineares (árvores, árvores binárias, árvores binárias de busca), propriedades, algoritmos e aplicações.
Tipos abstratos de dados. Estruturas de dados lineares: pilhas, filas e listas. Representações sequenciais, simplesmente e duplamente encadeadas, estáticas e dinâmicas, com nó sentinela, circulares. Operações básicas e análise dos algoritmos. Aplicações de listas lineares, pilhas e filas em problemas computacionais relevantes. Representação de matrizes esparsas utilizando vetores e listas encadeadas. Estruturas de dados não lineares: árvores, árvores binárias, operações básicas sobre árvores e análise dos algoritmos. Árvores binárias de busca, árvores binárias de busca balanceadas, árvores AVL, operações básicas e análise dos algoritmos. Aplicações de estruturas não lineares em problemas computacionais relevantes e análise dos algoritmos.
Livros textos: • CORMEN, T. H.; LEISERSON, C.E.; RIVEST, R. L. CLIFORD, S., Algoritmos: Teoria e Prática, Campus, 3ª edição, 2012. • WIRTH, N. Algoritmos e Estruturas de Dados, Prentice-Hall, 1989. • ZIVIANI, N., Projeto de Algoritmos com Implementações em Java e C++, 1ª edição, Thomson Pioneira, 2006. • ZIVIANI, N., Projeto de Algoritmos com Implementações em Pascal e C, 3ª edição, Thomson Pioneira, 2010. • SZWARCFITER, J. L., Estruturas de Dados e seus Algoritmos, 3ª edição, LTC, 2010. • GOODRICH, M. T.; TAMASSIA, R., Estruturas de Dados e Algoritmos, Wiley, 2004. Bibliografia complementar: • DROZDEK, A., Data Structures and Algorithms in C++, Delmar Learning, 3 edition, 2013. • DROZDEK, A., Data Structures and Algorithms in Java, Delmar Learning, 2 edition, 2013. • MAIN, M., Data Structures and Other Objects Using Java, Prentice Hall, 4 edition, 2011. • DALE, N., C++ Plus Data Structures, Jones & Bartlett Learning, 5 edition, 2011. • McALLISTER, W., Data Structures and Algorithms Using Java, Jones & Bartlett Publishers, 1 edition, 2008.