avaliação de Submarino nota 10
Daniel:10 anos atrásEste livro é, sem dúvida, um dos melhores títulos na área de projeto e análise de algoritmos. Independente de qualquer linguagem de programação (pois utiliza um pseudocódigo fácil de traduzir para qualquer linguagem de programação estruturada), apresenta diversos outros recursos didáticos, como ilustrações passo-a-passo do funcionamento de alguns algoritmos, sem contar o rigor matemático, que está na medida certa para um profissional da área da computação. É claro ao elucidar fatos que muitos outros livros negligenciam, como a natureza conjuntiva de O(n), Ω(n), Θ(n). A ênfase é a eficiência como um critério de projeto, então são analisados cuidadosamente os tempos de execução de todos os algoritmos. São apresentadas as estruturas de dados elementares (pilhas, filas, listas e a representação básica de árvores), bem como estruturas de dados mais complexas, como tabelas de espalhamento, árvores de busca binária, árvores red-black, árvores B, heaps de fibonacci, árvores de van Emde Boas e diversos tópicos na área de grafos. O livro discute ainda diversas técnicas avançadas e projeto e análise, como programação dinâmica, algoritmos gulosos e análise amortizada. Adicionalmente, são visitados outros tópicos da área, como algoritmos da teoria dos números, algoritmos de operações com matrizes, programação linear e até mesmo uma implementação eficiente da transformada rápida de Fourier. Finalmente, são apresentados diveros problemas NP-completos, como o famoso problema do caixeiro-viajante, para os quais não são conhecidas soluções gerais eficientes.