Disciplina do 2o Período dos Bacharelados: BCC, IBM e MI

Prof. Elias P. Duarte Jr.     Departamento de Informática     UFPR

  DISCIPLINA CI056: ALGORITMOS E ESTRUTURAS DE DADOS II
  Neste período o Prof. Elias não está ministrando esta disciplina

Todos os AVISOS serão postados aqui.

Horário das aulas neste semestre: Quartas e Sextas 15:30-17:00 horas (Sala: )

Avaliação: 2 provas de 35 pontos cada; 2 trabalhos práticos de 15 pontos

Calendário:

Prova 1: de de 202? (quarta-feira, na hora da aula, na sala de aula)

Prova 2: de de 202? (quarta-feira, na sala de aula, no horário da aula)

Prova Final: de de 202? (quarta-feira, na sala de aula, no horário da aula)

Atenção: Alunos reprovados por faltas infelizmente não poderão fazer a final - fique de olho!

Trabalho Prático 1: Ordenação e Pesquisa

Trabalho Prático 2: Filas de Prioridades

VEJA: programa exemplo para ilustrar a criação de um bom log.

Lista de Exercícios 1

Lista de Exercícios 2


  PROGRAMA
  1. Introdução aos Algoritmos
  2. Pesquisa Sequencial & Pesquisa Binária
  3. Recursividade
  4. Introdução à Análise de Custo de Algoritmos
  5. Ordenação: SelectSort, BubbleSort, QuickSort, InsertSort, ShellSort, MergeSort
  6. Filas de Prioridade e o Tipo Abstrato de Dados Heap; HeapSort
  7. Outros algoritmos de ordenação
  8. Backtracking
  Livros de Algoritmos Recomendados

    Um livro que contém todo o conteúdo da disciplina, se estendendo ao conteúdo de Algoritmos III, Grafos e mais é do Prof. Nivio Ziviani, da UFMG:

  • Nivio Ziviani, Projeto de Algoritmos com Implementações em Pascal e C, 3a Edição Revista e Ampliada, Cengage Learning, 2010.

    Outro bom livro de algoritmos escrito também por um professor brasileiro, o Prof. Paulo Feofiloff da USP, que mantém também o site Projetos de Algoritmos é:

  • Paulo Feofiloff, Algoritmos em Linguagem C, Elsevier, 2009.

    A referência mundial em Algoritmos é o livro do Cormen, acabou de sair a 4a edição:

  • Thomas H. Cormen, Charles E. Leiserson, Ronald Rivest, Clifford Stein, Introduction to Algorithms, 4th Edition, MIT Press, 2022.

    Um excelente livro de Algoritmos é o Sedgewick, que tem uma versão na linguagem C em dois volumes (1997 e 2001). Atenção que as edições mais recentes (incluindo a 4a de 2011, em co-autoria com K. Wayne) usam a linguagem Java, não C. O conteúdo da disciplina Algoritmos II está no Volume I (o Volume II cobre Grafos):

  • Robert Sedgewick, Algorithms in C, Parts 1-4 (Fundamentals: Data Structures Sorting and Searching)/Part 5 (Graph Algorithms), Addison-Wesley, 1997/2001.

    Meu livro favorito de algoritmos ainda é o Sedgewick na sua antiga versão na linguagem C, este livro funciona como uma verdadeira biblioteca prática de grafos, estruturas de dados básicas além de uma visão concreta e instigante de tópicos avançados:

  • Robert Sedgewick, Algorithms in C, Addison-Wesley, 1990.

    ATENÇÃO: recomendo a todos os alunos que façam uma revisão de Algoritmos I por exemplo usando o Livro de Algoritmos e Estruturas de Dados I; está disponível também o Guia de Pascal. Meu colega Prof. Carlos Maziero preparou um excelente material on line para você aprender a Linguagem C.


UFPR   Departamento de Informática   Prof. Elias P. Duarte Jr.