Projeto de Algoritmos com Implementações em Pascal e C

Um projeto de Nivio Ziviani, Ph.D. Professor Emérito do Departamento de Ciência da Computação Universidade Federal de Minas Gerais

Editora: Pioneira Thomson


» erros na versão impressa

Última atualização: 02/jan/2006

  • Capítulo 1: Introdução
    1. Pág. 11, fórmula sobre número de comparações: colocar número 3 fora da função teto
    2. Pág. 22, somatório sem índice: substituir "1" por "i=1"
  • Capítulo 2: Paradigmas de Projeto de Algoritmos
    1. Pág. 35, primeiro parágrafo, terceira linha: trocar "... gulosos, algoritmos aproximados e algoritmos randômicos." por "... gulosos e algoritmos aproximados."
    2. Pág. 36, último parágrafo, penútima linha: trocar "T(n) <= O(f(n))" por "T(n) = O(f(n))"
    3. Pág. 40, último parágrafo: trocar "Programas recursivos que possuem chamadas ao final do código são ditos terem recursividade de cauda. Programas com essa característica são ..." por "Programas recursivos correspondendo ao esquema (2.2) são ..."
      Obs.: Recursividade de cauda é uma composição envolvendo um algoritmo que especifica o critério para particionar um problema em (geralmente dois) subproblemas e selecinando um deles para ser resolvido recursivamente. Um exemplo clássico é a pesquisa binária apresentada na Seção 5.2.
    4. Pág. 41, último parágrafo, última linha: trocar "... então f(n)=O(n)." por "... então f(n)=Phi^n)."
    5. Pág. 51, Eq. (2.7): trocar "mk+i,j" por "mk+1,j"
    6. Pág. 51, penúltimo parágrafo: trocar "O segundo termo, mk+i,j ..." por "O segundo termo, mk+1,j ..."
  • Capítulo 4: Ordenação
    1. Pág. 151, Exercício 22, Letra a), segunda linha: trocar "... RL = WL ou RU = WU ..." por "... Li = Es ou Ls = Es ..."
  • Capítulo 5: Pesquisa em Memória Primária
    1. Pág. 172, Seção 5.4.1, segunda linha: trocar "... ao dígitos ..." por "... aos dígitos ..."
    2. Pág. 172, Seção 5.4.1, trocar "M = 101000" por "Q = 101000"
  • Capítulo 6: Pesquisa em Memória Secundária
    1. Pág. 238, último parágrafo, penúltima linha: trocar "... Figura 6.15: 5 19 22 60; 9." por "... Figura 6.15: 5 19 22 60."
    2. Pág. 239, Figura 6.16(b): trocar "1 4 18" por "1 4 6 18"
  • Capítulo 7: Algoritmos em Grafos
    1. Pág. 283, primeiro parágrafo: trocar "... Programa 7.10 ..." por "... Programa 7.9 ..."
    2. Figura 7.20, pág. 296 "Execução do algoritmo de Dijkstra":
      a. Fig.7.20 (a), (b), ..., (f), numeração dos vértices: trocar 4, 5 e 3 por 2, 3 e 4, respectivamente
      b. Fig. 7.20(e) e 7.20(f): trocar 16 por 6
      A figura corrigida pode ser vista aqui.
  • Capítulo 8: Processamento de Cadeias de Caracteres
    1. Figura 8.6, pág. 310 "Autômato finito daterminista cíclico para reconhecer aabc":
      A figura corrigida pode ser vista aqui.
    2. Pág. 321, terceiro parágrafo: a express\~ao corrigida pode ser vista aqui.
    3. Tabela 8.3, pág. 322: a tabela corrigida pode ser vista aqui.
    4. Tabela 8.4, pág. 322: a tabela corrigida pode ser vista aqui.
  • Capítulo 9: Problemas NP-Completo e Algoritmos Aproximados
    1. Pág. 363, Seção 9.1, terceiro parágrafo de baixo para cima, terceira linha de baixo para cima: trocar "... atibui ..." por "... atribui ..."
  • Apêndice L: Respostas para Exercícios Selecionados
    1. Pág. 526, Exercício 8.4(c): a resposta corrigida pode ser vista aqui.
  • Referências
    1. Pág. 538: Navarro, G. e Raffinot, M. (2002) - ao invés de (2003)

Produzido por Tambor Comunicação