Mudanças entre as edições de "Programa122MC(lilian)"

De CoteiaWiki
 
Linha 1: Linha 1:
'''Ementa'''<br/>
+
'''Programa'''<br/>
Tipos abstratos de dados. Listas lineares: sequenciais, simplesmente e duplamente encadeadas, estáticas e dinâmicas, circulares, com nó-cabeça. Operações básicas sobre listas lineares e análise dos algoritmos. Pilhas, filas, filas de prioridade, operações básicas sobre pilhas e filas e análise dos algoritmos. Aplicações de listas lineares, pilhas e filas em problemas computacionais relevantes. Matrizes esparsas. Listas generalizadas e aplicações. Listas 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. Considerações sobre heaps aplicados em filas de prioridades. Aplicações de listas não lineares em problemas computacionais relevantes e análise dos algoritmos.<br/><br/>
+
Revisão de conceitos no contexto da nova linguagem: funções, passagem de parâmetros, vetores, arquivos, registros, cadeias de caracteres, estruturas dinâmicas (ponteiros), e recursão. Apresentação de estruturas de dados clássicas, indicadas a seguir. Listas lineares: listas dinâmicas simples e duplamente encadeadas, listas circulares. Pilhas e Filas. Aplicações. Matrizes esparsas. Listas não lineares: árvores e árvores binárias. Representação de árvores. Árvores de busca e árvores balanceadas. Desenvolvimento de algoritmos sobre árvores binárias. Árvores não binárias: Árvores-B. Algoritmos e aplicações de Árvores-B. Grafos: conceitos e aplicações. Estruturas de dados para representação de grafos e algoritmos clássicos sobre grafos. Espalhamento (hashing) aberto e fechado, resolução de colisões..<br/><br/>
  
 
'''Bibliografia básica'''<br/>
 
'''Bibliografia básica'''<br/>
* Ziviani, N. (2004). Projeto de Algoritmos com Implementações em Pascal e C. Editora Cengage Learning.
 
* Mizrahi, V.V. (2008). Treinamento em Linguagem C. Pearson Prentice Hall.
 
* Cormen, T.H.; Leiserson, C.E.; Rivest, R.L.; Stein, C. (2002). Algoritmos: Teoria e Prática. Editora Campus.
 
* Tenenbaum, A.M.; Langsam, Y.; Augenstein, M.J. (1995). Estruturas de Dados Usando C. Makron Books.
 
  
 +
* TENEMBAUM, A.M. et alli Data Structures Using C, Prentice-Hall, 1990. (versão em Português: Estruturas de Dados Usando C, Makron Books 1995).
 +
* ZIVIANI, N. Projeto de Algoritmos com Implementações em Pascal e C. 2a. Edição. Thompson, São Paulo, 2004.
 +
 +
'''Bibliografia complementar'''<br/>
 +
 +
* AHO, A.V.; HOPCROFT,J.E.; ULLMAN, J.D. Data Structure and Algorithms. Readings, Addison Wesley, 1982.
 +
* CORMEN, T.H.; LEISERSON, C.E.; RIVEST, R.L. Introduction to Algorithms. 2nd Edition. MIT Press, 2001.
 +
* DEITEL, H. M., DEITEL, P. J., C++ Como Programar, Bookman, 2001.
 +
* GOODRICH, M.T.; TAMASSIA, R. Data Structures and Algorithms in C++. John Wiley & Sons, 2002.
 +
* HOROWITZ,E.; SAHNI,S. Fundamentos de Estrutura de Dados, Rio de Janeiro, Campus, 1986.
 +
* HOROWITZ,E.; SAHNI, S. Fundamentals of Data Structures in Pascal, Computer Science Press, 1990.
 +
* KERNIGHAM, B. W., RITCHIE, D. M., The C Programming Language, Pearson Education, 1989.
 +
* SZWARCFITER, J.L. Grafos e Algoritmos Computacionais. Editora Campus, 1983.
 +
* SZWARCFITER, J.L. e Markenzon, L. Estruturas de Dados e seus Algoritmos. LTC Editora 1994.
 +
* WIRTH, N. Algorithms and Data Structures, Englewood Cliffs, Prentice-Hall, 1986. (versão em Português: Algoritmos e Estruturas de Dados, Prentice Hall do Brasil, 1989).
  
 
<br/><br/>[http://wiki.icmc.usp.br/index.php/SCC0122 Voltar]
 
<br/><br/>[http://wiki.icmc.usp.br/index.php/SCC0122 Voltar]

Edição atual tal como às 18h02min de 1 de agosto de 2012

Programa
Revisão de conceitos no contexto da nova linguagem: funções, passagem de parâmetros, vetores, arquivos, registros, cadeias de caracteres, estruturas dinâmicas (ponteiros), e recursão. Apresentação de estruturas de dados clássicas, indicadas a seguir. Listas lineares: listas dinâmicas simples e duplamente encadeadas, listas circulares. Pilhas e Filas. Aplicações. Matrizes esparsas. Listas não lineares: árvores e árvores binárias. Representação de árvores. Árvores de busca e árvores balanceadas. Desenvolvimento de algoritmos sobre árvores binárias. Árvores não binárias: Árvores-B. Algoritmos e aplicações de Árvores-B. Grafos: conceitos e aplicações. Estruturas de dados para representação de grafos e algoritmos clássicos sobre grafos. Espalhamento (hashing) aberto e fechado, resolução de colisões..

Bibliografia básica

  • TENEMBAUM, A.M. et alli Data Structures Using C, Prentice-Hall, 1990. (versão em Português: Estruturas de Dados Usando C, Makron Books 1995).
  • ZIVIANI, N. Projeto de Algoritmos com Implementações em Pascal e C. 2a. Edição. Thompson, São Paulo, 2004.

Bibliografia complementar

  • AHO, A.V.; HOPCROFT,J.E.; ULLMAN, J.D. Data Structure and Algorithms. Readings, Addison Wesley, 1982.
  • CORMEN, T.H.; LEISERSON, C.E.; RIVEST, R.L. Introduction to Algorithms. 2nd Edition. MIT Press, 2001.
  • DEITEL, H. M., DEITEL, P. J., C++ Como Programar, Bookman, 2001.
  • GOODRICH, M.T.; TAMASSIA, R. Data Structures and Algorithms in C++. John Wiley & Sons, 2002.
  • HOROWITZ,E.; SAHNI,S. Fundamentos de Estrutura de Dados, Rio de Janeiro, Campus, 1986.
  • HOROWITZ,E.; SAHNI, S. Fundamentals of Data Structures in Pascal, Computer Science Press, 1990.
  • KERNIGHAM, B. W., RITCHIE, D. M., The C Programming Language, Pearson Education, 1989.
  • SZWARCFITER, J.L. Grafos e Algoritmos Computacionais. Editora Campus, 1983.
  • SZWARCFITER, J.L. e Markenzon, L. Estruturas de Dados e seus Algoritmos. LTC Editora 1994.
  • WIRTH, N. Algorithms and Data Structures, Englewood Cliffs, Prentice-Hall, 1986. (versão em Português: Algoritmos e Estruturas de Dados, Prentice Hall do Brasil, 1989).



Voltar