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: 1. Cormen, T., Leiserson, C., Rivest, R., Stein, C. Algoritmos - Teoria e Prática, Editora GEN LTC; 4ª edição, formato eBook, ASIN B0CTD96RH6, 2024. 2. Manzano, J. A. N. G., Oliveira, J. F. Algoritmos: Lógica Para Desenvolvimento de Programação de Computadores, Editora Érica, 29ª edição, ISBN-10: 8536531452, ISBN-13: 978-8536531458, 2019. 3. Drozdek, A. Estrutura de dados e algoritmos em C++, Editora Cengage Learning, 2ª edição, ISBN-10: 8522125732, ISBN-13: 978-8522125739, 2016. 4. Cormen, T., Leiserson, C., Rivest, R., Stein, C. Algoritmos - Teoria e Prática, Edição de abril de 2012, LTC. ISBN 978-8535236996, 2012. 5. Ziviani, N. Projeto de Algoritmos com Implementações em Pascal e C, 3ª edição, Thomson Pioneira, 2010. 6. Szwarcfiter, J. L.; Markenzon, L. Estruturas de Dados e seus Algoritmos, 3ª edição, LTC, 2010. 7. Ziviani, N. Projeto de Algoritmos com Implementações em Java e C++, 1ª edição, Thomson Pioneira, 2006. 8. Goodrich, M. T.; Tamassia, R. Estruturas de Dados e Algoritmos, Wiley, 2004. 9. Horowitz, E., Sahni, S. Fundamentos de Estrutura de Dados. Editora Campus, 1984. 10. Szwarcfiter, J. L. Grafos e Algoritmos Computacionais. Editora Campus, 1983. Bibliografia complementar: 11. Jain, H. Problem Solving in Data Structures & Algorithms Using Java. Hemant Jain, 2022. 12. Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C. Introduction to Algorithms, 4th ed. MIT Press, ISBN-10 026204630X, ISBN-13 978-0262046305, 2022. 13. Wengrow, J. A Common-Sense Guide to Data Structures and Algorithms, Second Edition: Level Up Your Core Programming Skills, Pragmatic Bookshelf; 2nd ed., ISBN-10 1680507222, ISBN-13 978-1680507225, 2020. 14. Chatterjee, A.; Kiao, U. Time Complexity Analysis. Independently published, ISBN-13: 979-8466805017, 2021. 15. Carrano, F., Henry, T. Data Structures and Abstractions with Java, Pearson, 5a edição, ISBN-10 0134831691, ISBN-13 978-0134831695, 2018. 16. Karumanchi, N. Data Structures and Algorithms Made Easy: Data Structures and Algorithmic Puzzles. Careermonk Publications, 5th edition, 2016. 17. Drozdek, A. Data Structures and Algorithms in C++, Delmar Learning, 3rd edition, 2013. 18. Drozdek, A. Data Structures and Algorithms in Java, Delmar Learning, 2nd edition, 2013. 19. Main, M. Data Structures and Other Objects Using Java, Prentice Hall, 4th edition, 2011. 20. Dale, N. C++ Plus Data Structures, Jones & Bartlett Learning, 5th edition, 2011. 21. McAllister, W. Data Structures and Algorithms Using Java. Jones & Bartlett Publishers, 2008. 22. Folk, M., Zeollick, B. and Riccardi, G. File Structures: An Object-Oriented Approach Using C++. Third Edition, Addison-Wesley, 1997. 23. Horowitz, E., Sahni, S. Fundamentals of Data Structures in Pascal. Computer Science Press, 1990. 24. Tenembaum, A.M., Langsam, Y. and Augenstein, M. J. Data Structures Using C. Prentice- Hall, 1990. 25. Wirth, N. Algorithms and Data Structures. Englewood Cliffs, Prentice-Hall, 1986. 26. Aho, A.V., Hopcroft, J.E., Ullman, J. D. Data Structure and Algorithms. Readings, Addison Wesley, 1982.