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
  Segundo Semestre de 2017 - o Prof. Elias está ministrando a turma A

Atenção pessoal: as notas do semestre foram disponibilizadas; para ver as provas/correções o dia e horário é quarta-feira dia 29/11/2017, na hora da aula, 15:30, na sala do professor.

ATENÇÃO: a prova 2 será na sala PF-01

Atenção: não haverá aula no dia 17 de novembro de 2017 sexta-feira.

Atenção: o Trabalho Prático 2 foi divulgado! A data de disponibilização é 12 de novembro de 2017.

Atenção: Não haverá aula nem quarta-feira, dia 04/outubro nem sexta dia 06/outubro de 2017.

Atenção: dia 27 de setembro de 2017 não haverá aula.

Atenção: as datas da Prova 1 (29/09/2017) e disponibilização do TP1 (04/10/2017) foram marcadas e estão se aproximando rapidamente!

Todos os AVISOS serão postados aqui.

Horário das aulas neste semestre: Quartas e Sextas 15:30-17:00 horas (Salas: PC-7 nas Quartas e PC-6 nas Sextas)

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

Calendário:

Prova 1: 29 de setembro de 2017 (sexta-feira, na hora da aula, na sala de aula)

Prova 2: 24 de novembro de 2017 (sexta-feira, na sala de aula, no horário da aula) Resultado
Todos os alunos poderão ver a prova corrigida na próxima quarta-feira, dia 29/11/2017, no horário da aula 15:30, no gabinete do professor.

Prova Final: 13 de dezembro de 2017 (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: Listas, Filas e Pilhas

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

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

Lista de Exercícios 1

Lista de Exercícios 2

O atendimento a dúvidas é feito ao término da aula, o professor conta com a compreensão dos alunos para evitarem consultas por e-mail. Sempre há tempo depois de cada aula! Se detectarmos então a necessidade, podemos também agendar um horário para atendê-lo na minha sala.

  PROGRAMA
  1. Introdução aos Algoritmos & Estruturas de Dados
  2. Alocação Dinâmica de Memória
  3. Tipos Abstratos de Dados Básicos: Lista, Fila, Pilha
  4. Recursividade
  5. Pesquisa Sequencial & Pesquisa Binária
  6. Introdução à Análise de Custo de Algoritmos
  7. Ordenação: SelectSort, BubbleSort, QuickSort, InsertSort, ShellSort, MergeSort
  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 é:

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

    A referência mundial em Algoritmos é o livro do Cormen:

  • Thomas H. Cormen, Charles E. Leiserson, Ronald Rivest, Clifford Stein, et al., Introduction to Algorithms, 3rd Edition, MIT Press, 2009.

    Um excelente livro de Algoritmos é o Sedgewick, que tem uma versão em 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 Volune 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 a Apostila de Algoritmos e Estruturas de Dados I; está disponível também um Guia de Pascal.


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