Informações da Disciplina

 Preparar para impressão 

Júpiter - Sistema de Gestão Acadêmica da Pró-Reitoria de Graduação


Instituto de Ciências Matemáticas e de Computação
 
Ciências de Computação
 
Disciplina: SCC0606 - Estrutura de Dados II
Data Structures II

Créditos Aula: 4
Créditos Trabalho: 2
Carga Horária Total: 120 h
Tipo: Semestral
Ativação: 15/07/2018 Desativação:

Objetivos
Apresentação de conceitos avançados que levem o aluno a uma maturidade em programação estruturada, com conhecimento de uma linguagem de programação com recursos avançados. Aprendizado de técnicas para construção de algoritmos e para análise da complexidade de algoritmos. Aprendizado de algoritmos clássicos de ordenação e busca em memória interna. Prática de Programação com solução de situações e problemas relevantes.
 
Presentation of advanced concepts that take the student to a maturity level of structured programming, with knowledge of a programming language with advanced features. Learning techniques for constructing algorithms and for analysis of the algorithms; complexity. Learning classical sorting and internal memory searching algorithms.Practice of Programming and application in situations of relevant problems.
 
 
Docente(s) Responsável(eis)
2084609 - Maria da Graça Campos Pimentel
 
Programa Resumido
Conceitos avançados de análise de algoritmos. Paradigmas de projetos de algoritmos. Métodos de busca e ordenação. Espalhamento (hashing). Aplicações em problemas relevantes.
 
Advanced concepts related to analysis of algorithms (complexity). Paradigms of algorithm design. Sorting methods. Hashing methods. Application for solving relevant problems.
 
 
Programa
Conceitos avançados de análise de algoritmos: método da árvore de recorrência e teorema mestre. Paradigmas de projetos de algoritmos. Métodos de ordenação diretos e avançados em memória interna: inserção, seleção, bubblesort, quicksort, heapsort. Métodos de busca em memória interna: sequencial, binária e árvores, comparação entre métodos. Espalhamento (hashing) em memória interna. Paradigmas de projetos de algoritmos: indução, recursividade, tentativa e erro, divisão e conquista, programação dinâmica, algoritmos gulosos e algoritmos aproximados, prática e discussão com problemas computacionais relevantes.
 
Advances Analysis of algorithms: techniques for counting operations and recurrences analysis, practice and discussion with relevant computational problems. Simple and advanced sorting algorithms in internal memory: basic concepts, bubble sort, quick sort, insertion sort, shell sort, selection sort, heap sort, merge sort, minor counting, type counting and radix sort, analysis of sorting algorithms, practice and discussion with relevant computational problems. Internal searching algorithms: basic concepts, sequential search, binary and search trees, practice and discussion with relevant computational problems. Internal Hashing: basic concepts, types of hash, hash functions, collision handling, analysis of search algorithms, insertion and removal based on hashing. Algorithm design paradigms: basic concepts, paradigms of induction, recursion, trial and error, divide and conquer, dynamic programming, greedy algorithms, and approximation algorithms, practice and discussion with relevant computational problems.
 
 
Avaliação
     
Método
Exposição seguida de exercícios e trabalhos práticos, dentro e fora de classe. Prática de uso de computador.
Critério
Serão atribuídas notas a exercícios e trabalhos práticos executados alguns em classe e outros fora de classe. A nota final será calculada pela média ponderada dessas notas obtidas pelo aluno no decorrer do semestre. Aprovado se Nota Final >= 5.0 e Frequência >= 70%
Norma de Recuperação
-Critério de Aprovação: NP+(Mrec/2,5), se Mrec ou =7,5; ou Max {NP,Mrec}, se Mrec ou = 5,0; ou 5,0, se 5,0 ou = Mrec 7,5.( NP=1ª avaliação, Mrec=prova)
 
Bibliografia
     
Livros Texto:
. CORMEN, T. H.; LEISERSON, C. E.; RIVEST, R. L.; STEIN, C. Algoritmos: Teoria e Prática. Ed. Campus. 2002.
. ZIVIANI, N., Projeto de algoritmos, 2a. edição, Thomson, 2004.

Complementares (se houver):
. AHO, A. V.; HOPCROFT, J. E.; ULLMAN, J. D., Data Structure and algorithms. Readings, Addison Wesley, 1982.
. HOROWITZ, E.; SAHNI, S., Fundamentals of Data Structures in Pascal, Computer Science Press, 4th Ed., 1994.
. LANGSAM, Y. Et al., Data Structures using C And C++, 2nd edition, Prentice-Hall, 1996.
. WEISS, M. A., Data Structures and Algorithm Analysis, The Benjamin/Cummings Pub. Co., 1995.
. WIRTH, N., Algorithms and Data Structures, Englewood Cliffs, Prentice-Hall, 1986.
. SCHILDT, Herbert; MAYER, Roberto Carlos. C completo e total. Pearson Education, 2006.
. ROBERTS, E., Programming Abstractions in C, Addison Wesley, 1996.
. SEDGEWICK, R., Algorithms in C, Addison-Wesley, 1990.
 

Clique para consultar os requisitos para SCC0606

Clique para consultar o oferecimento para SCC0606

Créditos | Fale conosco
© 1999 - 2024 - Superintendência de Tecnologia da Informação/USP