User Tools

Site Tools


cursos:csf20

<html> <!– Global site tag (gtag.js) - Google Analytics –> <script async src=“https://www.googletagmanager.com/gtag/js?id=UA-116569507-1”></script> <script>

window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-116569507-1');

</script> </html>

CSF20: ESTRUTURA DE DADOS I

  • Disciplina: CSF20 - ESTRUTURA DE DADOS I
  • Carga Horária (horas): teoria 15h, prática 30h, total 45h
  • Pré-requisito: IF62C – Fundamentos de Programação 2
  • Professor: Mauro Fonseca

Plano de aula

Objetivos

Proporcionar aos alunos conhecimentos teóricos e práticos em programação, envolvendo o estudo de conceitos fundamentais de algoritmos e estruturas de dados.

Ao final da disciplina o aluno deverá dominar as principais estruturas de dados existentes da computação.

Ementa

  • Estruturas de Dados Lineares e suas Generalizações:
    • Listas Ordenadas,
    • Listas Encadeadas,
    • Pilhas e
    • Filas.
  • Algoritmos para Pesquisa e Ordenação.
  • Cadeias e Processamento de Cadeias.

Conteúdo programático

  1. Estruturas de Dados Básicas
    1. Listas Lineares
      1. Listas simplesmente e duplamente encadeadas
      2. Listas circulares
    2. Pilhas
    3. Filas
  2. Ordenação
    1. Ordenação Interna
      1. Selection Sort
      2. Insertion-Sort
      3. Shell-Sort
      4. Bubble-Sort.
      5. Ordenação linear.
      6. Quick-Sort.
      7. MergeSort.
  3. Pesquisa em Memória Primária
    1. Busca Sequencial
    2. Busca Binária.
  4. Processamento de Cadeias
    1. Casamento de cadeias:
      1. Casamento exato e
      2. Casamento aproximado.
    2. Compressão
      1. Método de Huffman.
  5. Notação assintótica.

Metodologia

Teoria: aulas expositivas, com análise e discussão dos temas abordados e textos de apoio.

Prática: atividades referentes aos temas abordados nas aulas teóricas (Regras das atividades de laboratório).

Avaliação

Nota final = ( Média das Provas + Média dos Trabalhos ) / 2

Frequência mínima = 75%

Bibliografia

Básicas:

  • ZIVIANI, NIVIO. Projeto de Algoritmos com Implementações em Java e C++, São Paulo: Thomson Pioneira, 2006.
  • DROZDEK, Adam. Estrutura de dados e algoritmos em C++. São Paulo, SP: Cengage Learning, c2002. xviii, 579 p. ISBN 8522102593.
  • GOODRICH, Michael T.; TAMASSIA, Roberto. Estruturas de dados e algoritmos em Java. 4. ed. Porto Alegre: Bookman, 2007. 600 p. ISBN 9788560031504.
  • PREISS, Bruno R. Estruturas de dados e algoritmos: padrões de projetos orientados a objetos com Java. Rio de Janeiro: Campus, c2001 xvi, 566 p. ISBN 9788535206937.

Complementares:

  • CORMEN, THOMAS H.; LEISERSON, CHARLES E.; RIVEST, RONALD L.; STEIN, CLIFFORD. Algoritmos – Teoria e Prática, Rio de Janeiro: Campus, 2002.
  • KNUTH, DONALD E. The Art of Computer Programming, Volume 1: Fundamental Algorithms, Addison- Wesley, 1997.
  • KNUTH, DONALD E. The Art of Computer Programming, Volume 3: Sorting and Searching, Addison-Wesley, 1998.
  • SEDGEWICK, ROBERT. Algorithms in C++, Addison-Wesley, 1998.
  • TENENBAUM, AARON; LANGSAM, YEDIDYAH; AUGENSTEIN, MOSHE J. Estrutura de Dados Usando C, Rio de Janeiro: Makron, 1995.
  • LOUDEN, KENNETH C. Compiladores, São Paulo: Thomson Pioneira, 2004
  • WIRTH, Niklaus. Algorítmos e estruturas de dados. Rio de Janeiro: LTC, c1989. 255 p. ISBN 85-216-1190-0
  • GUIMARÃES, Angelo de Moura; LAGES, Newton Alberto de Castilho. Algoritmos e estruturas de dados. Rio de Janeiro: LTC, c1994. 216 p. (Ciência de Computação) ISBN 85-216-0378-9.
  • </note>
cursos/csf20.txt · Last modified: 2024/02/29 21:21 by fonseca