Para voltar à página raíz clique aqui.

Algoritmos e Estruturas de Dados 1 (em conjunto com Estruturas de Dados)

Turma A - 1s2019

Informações do Professor

Nome: Mário César San Felice
Sala: G.08 do Departamento de Computação
Email: [ meu último nome ] (at) ufscar.br

Informações do Curso

Trabalhos Práticos

Tópicos das Aulas

  1. Apresentação, análise de algoritmos intuitiva, laços aninhados e logaritmos
    Notas de aula: PDF.
    Bibliografia: Tópicos Leiaute, Documentação e Logaritmos do Projeto de Algoritmos (em C), Seção 1.1 do Estruturas de Dados e Técnicas de Programação.
  2. Recursão, fatorial e torres de Hanoi
    Notas de aula: PDF.
    Bibliografia: Seção 5.1 do Estruturas de Dados e Técnicas de Programação.
    Material complementar: Slides das aulas do prof. José Coelho de Pina Junior Aula 01, Aula 03.
  3. Recursão, máximo, binomial, análise de desempenho
    Notas de aula: PDF.
    Bibliografia: Tópico Recursão e algoritmos recursivos do Projeto de Algoritmos (em C).
    Material complementar: Slides das aulas do prof. José Coelho de Pina Junior Aula 02.
  4. Recursão, exponencial, análise de desempenho
    Notas de aula: PDF.
  5. Recursão, Máximo Divisor Comum, Fibonacci
    Notas de aula: PDF.
    Bibliografia: Seção 5.1 do Estruturas de Dados e Técnicas de Programação.
    Material complementar: Slides das aulas do prof. José Coelho de Pina Junior Aula 03, Aula 04, Aula 02.
  6. Crescimento de funções, busca sequencial e binária em vetores
    Notas de aula: PDF.
    Bibliografia: Tópico Busca em vetor ordenado do Projeto de Algoritmos (em C).
    Material complementar: Slides das aulas do prof. José Coelho de Pina Junior Aula 17.
  7. Operações em vetores, ordenação por inserção (insertionsort)
    Notas de aula: PDF.
    Bibliografia: Tópicos Vetores e Ordenação: algoritmos elementares do Projeto de Algoritmos (em C), Capítulo 2 e Seção 13.2 do Estruturas de Dados e Técnicas de Programação.
    Material complementar: Slides das aulas do prof. José Coelho de Pina Junior Aula 07, Aula 18.
  8. Ordenação por seleção (selectionsort) e por transposição (bubblesort)
    Notas de aula: PDF.
    Bibliografia: Tópico Ordenação: algoritmos elementares do Projeto de Algoritmos (em C), Seções 13.1 e 13.3 do Estruturas de Dados e Técnicas de Programação.
    Material complementar: Slides das aulas do prof. José Coelho de Pina Junior Aula 18.
  9. Endereços, apontadores e registros
    Notas de aula: PDF.
    Bibliografia: Tópicos Endereços e ponteiros, Registros e structs e Entrada e saída do Projeto de Algoritmos (em C).
    Material complementar: Slides das aulas do prof. José Coelho de Pina Junior Aula 05.
  10. Alocação dinâmica de memória
    Notas de aula: PDF.
    Bibliografia: Tópico Alocação dinâmica de memória do Projeto de Algoritmos (em C).
    Material complementar: Slides das aulas do prof. José Coelho de Pina Junior Aula 06.
  11. Listas encadeadas
    Notas de aula: PDF.
    Bibliografia: Tópico Listas encadeadas do Projeto de Algoritmos (em C), Seção 3.1 do Estruturas de Dados e Técnicas de Programação.
    Material complementar: Slides das aulas do prof. José Coelho de Pina Junior Aula 08.
  12. Listas encadeadas com nó cabeça, circulares e duplamente ligadas
    Notas de aula: PDF.
    Bibliografia: Tópico Listas encadeadas do Projeto de Algoritmos (em C), Seções 3.2 e 3.3 do Estruturas de Dados e Técnicas de Programação.
    Material complementar: Slides das aulas do prof. José Coelho de Pina Junior Aula 09.
  13. Inversão de uma lista, listas encadeadas em vetores
    Notas de aula: PDF.
    Material complementar: Slides das aulas do prof. José Coelho de Pina Junior Aula 10, Aula 07.
  14. Pilha implementada em vetor, aplicação com parênteses e colchetes, pilha de execução, relação de pilha com recursão
    Notas de aula: PDF.
    Bibliografia: Tópico Pilhas do Projeto de Algoritmos (em C), Seções 4.2 e 5.2 do Estruturas de Dados e Técnicas de Programação.
    Material complementar: Slides da aula do prof. José Coelho de Pina Junior Aula 10.
  15. Pilhas, inversão de sequências, notação infixa para pósfixa
    Notas de aula: PDF.
    Bibliografia: Tópico Pilhas do Projeto de Algoritmos (em C), Seção 4.3 do Estruturas de Dados e Técnicas de Programação.
    Material complementar: Slides da aula do prof. José Coelho de Pina Junior Aula 11.
  16. Pilhas em listas encadeadas (com e sem nó cabeça)
    Notas de aula: PDF.
    Bibliografia: Tópico Pilhas do Projeto de Algoritmos (em C), Seção 4.2 do Estruturas de Dados e Técnicas de Programação.
    Material complementar: Slides da aula do prof. José Coelho de Pina Junior Aula 13.
  17. Interfaces, pilhas, leiaute da memória
    Notas de aula: PDF.
    Bibliografia: Tópico Bibliotecas de funções do Projeto de Algoritmos (em C).
    Material complementar: Slides da aula do prof. José Coelho de Pina Junior Aula 12, Aula 13.
  18. Fila implementada em vetor, cálculo de distâncias, interfaces
    Notas de aula: PDF.
    Bibliografia: Tópico Filas do Projeto de Algoritmos (em C), Seção 4.4 do Estruturas de Dados e Técnicas de Programação.
    Material complementar: Slides da aula do prof. José Coelho de Pina Junior Aula 14.
  19. Filas com implementação circular em vetor e em listas encadeadas, interfaces, listas de adjacência e ortogonais
    Notas de aula: PDF.
    Bibliografia: Tópico Filas do Projeto de Algoritmos (em C), Seção 4.4 do Estruturas de Dados e Técnicas de Programação.
    Material complementar: Slides da aula do prof. José Coelho de Pina Junior Aula 15.
  20. Tabelas de símbolos, implementação em vetores ordenados, árvores binárias
    Notas de aula: PDF.
    Bibliografia: Seção 11.1 do Algorithms Illuminated, Part 2, Tópicos TSs ordenadas 1 e 2 das notas de aula do prof. Paulo Feofiloff, Tópico Árvores Binárias do Projeto de Algoritmos (em C).
  21. Árvores binárias, tabelas de símbolos, árvores binárias de busca (operações básicas)
    Notas de aula: PDF.
    Bibliografia: Seções 11.2 e 11.3 do Algorithms Illuminated, Part 2, Tópicos Árvores binárias e Árvores binárias de busca do Projeto de Algoritmos (em C).
    Material complementar: Slides das aulas do prof. José Coelho de Pina Junior Aula 25 e vídeo aulas do prof. Tim Roughgarden 13 1, 13 2, 13 3.
  22. Árvores binárias de busca (operações avançadas), tabelas de símbolos
    Notas de aula: PDF.
    Bibliografia: Seção 11.3 do Algorithms Illuminated, Part 2, Tópico Árvores binárias de busca do Projeto de Algoritmos (em C).
    Material complementar: Slides das aulas do prof. José Coelho de Pina Junior Aula 25 e vídeo aulas do prof. Tim Roughgarden 13 3.
  23. Filas de prioridade: implementações básica e com heap
    Notas de aula: PDF.
    Bibliografia: Tópico Heapsort do Projeto de Algoritmos (em C), Seção 8.4 do Estruturas de Dados e Técnicas de Programação.
    Material complementar: Slides das aulas do prof. José Coelho de Pina Junior Aula 21 e vídeo aulas do prof. Tim Roughgarden 12 3.
  24. Ordenação por seleção eficiente (heapsort), heapify
    Notas de aula: PDF.
    Bibliografia: Tópico Heapsort do Projeto de Algoritmos (em C), Seção 13.3 do Estruturas de Dados e Técnicas de Programação.
    Material complementar: Slides das aulas do prof. José Coelho de Pina Junior Aula 21 e vídeo aulas do prof. Tim Roughgarden 12 2.
  25. Programação com retrocesso (backtracking)
    Slides da aula: PDF.
    Bibliografia: Seção 9.1 do Algorithms.
    Material complementar: Slides das aulas do prof. José Coelho de Pina Junior Aula 24.
  26. Algoritmos de enumeração
    Notas de aula: PDF.
    Bibliografia: Tópico Algoritmos de enumeração do Projeto de Algoritmos (em C).
  27. Problemas da seleção e da contagem de inversões
    Notas de aula: PDF.
    Material complementar: Slides das aulas do prof. José Coelho de Pina Junior Aula 20.

Listas de Exercícios

  1. Recursão: PDF.
  2. Vetores, busca, ordenação: PDF.
  3. Listas encadeadas: PDF.
  4. Pilhas: PDF.
  5. Filas: PDF.
  6. Árvores binárias, árvores binárias de busca, heaps: PDF.

Bibliografia e materiais recomendados


Last Update: 05/05/2021 16:46