Fui encarregado de construir uma biblioteca de livros sobre algoritmos para nossa pequena empresa (cerca de 15 pessoas). O orçamento é superior a 5 mil, mas certamente inferior a 10 mil, para que eu possa comprar um número razoável de livros. Todas as pessoas aqui têm pelo menos um diploma de bacharel em ciências da computação ou áreas afins, portanto, enquanto eu vou receber alguns livros básicos como Cormen, estou mais interessado em bons livros sobre tópicos avançados. (Receberei os 4 volumes de Knuth, a propósito.)
Alguma lista de tópicos seria:
Algoritmos de classificação
Algoritmos de gráficos
Algoritmos de string
Algoritmos randomizados
Algoritmos distribuídos
Algoritmos combinatórios
etc.
Basicamente, estou procurando boas recomendações sobre livros sobre os principais tópicos do CS relacionados a algoritmos e estruturas de dados. Especialmente coisas que vão além do que normalmente é coberto nas classes de algoritmos e estrutura de dados como parte de um diploma de bacharel em uma boa escola. Sei que a pergunta é bastante confusa, pois estou procurando material genericamente útil. O software que desenvolvemos consiste principalmente de coisas no nível do sistema que lidam com grandes quantidades de dados.
O ideal também seria encontrar algo que cubra estruturas de dados e algoritmos interessantes bastante recentes, sobre os quais a maioria das pessoas talvez não tenha ouvido falar.
EDIT: Aqui estão alguns livros preliminares que acho que devo receber:
Introdução aos Algoritmos por Cormen et al.
Algorithm Design por Kleinberg, Tardos
A Arte da Programação por Computador Vol 1-4 por Knuth
Algoritmos de aproximação por Vazirani
O Projeto de Algoritmos de Aproximação de Williamson, Shmoys
Algoritmos Randomizados por Motwani, Raghavan
Introdução à Teoria da Computação por Sipser
Complexidade computacional por Arora, Barak
Computadores e intratabilidade de Garey e Johnson
Otimização combinatória da Schrijver
Alguns outros livros que meus colegas queriam que lidassem com técnicas e algoritmos para design de linguagem, compiladores e métodos formais são:
Tipos e idiomas de programação por Pierce
Princípios de verificação de modelo por Baier, Katoen
Compiladores: Princípios, técnicas e ferramentas de Aho, Lam, Sethi, Ullman
Manual do Design do Compilador: Otimizações e geração de código de máquina, segunda edição por Srikant, Shankar
O Manual da Coleta de Lixo: A Arte do Gerenciamento Automático de Memória por Jones, Hosking, Moss