Fornecer ao aluno capacidade de construção e análise de algoritmos e de estruturas básicas de dados (representação, construção e manipulação). Utilizar exemplos de aplicações e avaliações de uso destas técnicas na resolução por computador de problemas que são relevantes para a Engenharia Elétrica.
Conceitos de algoritmos e estrutura de dados. Construção e análise de algoritmos. Representação, construção e manipulação de principais estruturas de dados. Aplicação de conceitos na solução de problemas de Engenharia Elétrica.
O curso consta de aulas semanais.Programa:1. Histórico.2. Introdução: problemas, soluções, algoritmos, estruturas de dados e programas. 3. Métodos: algoritmos gulosos, dividir e conquistar, recursão, programação dinâmica.4. Análise da Complexidade de Algoritmos: complexidade de tempo, notação assintótica, relações de recorrência. Estruturas de dados elementares: pilhas, filas, sequências, árvores.5. Busca: tabelas hash, árvores de busca binária.6. Ordenação: por inserção, por seleção, mergesort, quicksort, heap.7. Grafos: algoritmos de busca em largura e profundidade, árvore geradora mínima, caminho mais curto, busca topológica. 8. Aplicação dos conceitos na solução de problemas de Engenharia Elétrica.
[1] Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C. Algoritmos: Teoria e Prática. Tradução da 2a. edição americana. Editora Campus, 2002, ISBN 8535209263, 9788535209266, 936p.[2] Bronson, G. J. C++ for Engineers and Scientists. 4a ed. Course Technology, 2012, ISBN 1133187846, 9781133187844, 828p.[3] Tenenbaum, A.M.; Augenstein, M.J.; Langsam, Y. Data Structures Using C and C++. 2nd. Ed. Prentice Hall, 1995. ISBN: 0130369977, 9780130369970, 672p. [4] Aho, A.V.; Hopcroft, J.E.; Ullman, J. D. Data Structures and Algorithms, Addison-Wesley, 1983. ISBN: 0201000237, 978-0201000238, 427p.[5] Kernighan, B.W.; Pike, R. The Practice of Programming. Addison-Wesley, 1999. ISBN: 020161586X, 978-0201615869, 288p.[6] Szwarcfiter , J.L.; Markenzon, L. Estruturas de Dados e seus Algoritmos. LTC Editora, 1994.[7] Ziviani, N. Projeto de Algoritmos. 2a. ed., Thomson, 2004.