# Introdução aos Algoritmos

Introdução aos Algoritmos (Inglês: Introduction to Algorithms) é um livro sobre programação de computadores escrito por Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest e Clifford Stein. O livro tem sido amplamente utilizado como material didático para disciplinas de algoritmos em muitas universidades e é comumente citado como referência para algoritmos em artigos publicados, com mais de 10.000 citações documentadas no CiteSeerX, e mais de 67.000 citações no Google Acadêmico a partir de 2023. O livro vendeu meio milhão de cópias durante seus primeiros 20 anos, e ultrapassou um milhão de cópias vendidas em 2022. Sua fama levou ao uso comum da abreviação "CLRS" (Cormen, Leiserson, Rivest, Stein) ou, na primeira edição, "CLR" (Cormen, Leiserson, Rivest).
No prefácio, os autores discorrem sobre como o livro foi escrito para ser abrangente e útil tanto para o ensino quanto em ambientes profissionais. Cada capítulo se concentra em um algoritmo e discute suas técnicas de projeto e áreas de aplicação. Em vez de usar uma linguagem de programação específica, os algoritmos são escritos em pseudocódigo. As descrições se concentram nos aspectos do próprio algoritmo, em suas propriedades matemáticas e enfatizam a eficiência.

## Edições

A primeira edição do livro didático não incluía Clifford Stein como autor e, portanto, o livro ficou conhecido pela sigla CLR. Ele incluía dois capítulos ("Circuitos Aritméticos" e "Algoritmos para Computadores Paralelos") que foram abandonados na segunda edição. Após a inclusão do quarto autor na segunda edição, muitos começaram a se referir ao livro como "CLRS". Essa primeira edição do livro também era conhecida como "O Grande Livro Branco (de Algoritmos)". Com a segunda edição, a cor predominante da capa mudou para verde, fazendo com que o apelido fosse encurtado para apenas "O Grande Livro (de Algoritmos)." A terceira edição foi publicada em agosto de 2009. A quarta edição foi publicada em abril de 2022, com cores adicionadas para melhorar as apresentações visuais.

## Design de capa

O móbile retratado na capa, Big Red (1959), de Alexander Calder, pode ser encontrado no Whitney Museum of American Art, em Nova York. An Introduction to Language, de Victoria Fromkin, também usa o móbile de Calder em sua capa.

## Capítulos

Fontes
* I Fundamentos
** 1 A Função dos Algoritmos na Computação
** 2 Introdução
** 3 Caracterizando os Tempos de Execução
** 4 Dividir e Conquistar
** 5 Análise Probabilística e Algoritmos Aleatórios
* II Estatísticas de Classificação e Ordenação
** 6 Algoritmo Heapsort
** 7 Algoritmo Quicksort
** 8 Ordenação em Tempo Linear
** 9 Estatísticas de Mediana e Ordenação
* III Estrutura de Dados
** 10 Estrutura de Dados Elementares
** 11 Tabelas de Dispersão
** 12 Árvores Binárias de Busca
** 13 Árvores Rubro-Negras
* IV Técnicas Avançadas de Design e Análise
** 14 Programação Dinâmica
** 15 Algoritmos Gulosos
** 16 Análise Amortizada
* V Estrutura de Dados Avançada
** 17 Estrutura de Aumento de Dados
** 18 Árvores B
** 19 Estrutura de Dados União-Busca
* VI Algoritmos de Grafos
** 20 Algoritmo de Grafos Elementares
** 21 Árvores de Extensão Mínima
** 22 Caminhos Mínimos de Fonte Única
** 23 Caminhos Mínimos entre Todos os Pares
** 24 Fluxo Máximo
** 25 Acoplamento de Grafos Bipartidos
* VII Tópicos Selecionados
** 26 Algoritmos Paralelos
** 27 Algoritmos Online
** 28 Operação de Matrizes
** 29 Programação Linear
** 30 Polinômios e Transformada Rápida de Fourier
** 31 Algoritmos da Teoria dos Números
** 32 Correspondência de Strings
** 33 Algoritmos de Aprendizado de Máquina
** 34 NP-completo
** 35 Algoritmo de Aproximação
* VIII Apêndice: Contexto Matemático
** A Somatória
** B Conjuntos, Etc.
** C Contagem e Probabilidade
** D Matrizes

## Histórico de publicações

* Cormen, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L. (1990). Introduction to Algorithms (1ª ed.). MIT Press and McGraw-Hill. ISBN 0-262-03141-8.
* Cormen, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L.; Stein, Clifford (2001) [1990]. Introduction to Algorithms (2ª ed.). MIT Press and McGraw-Hill. ISBN 0-262-03293-7. 12 impressões até 2009, errata:
* Cormen, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L.; Stein, Clifford (2009) [1990]. Introduction to Algorithms (3ª ed.). MIT Press and McGraw-Hill. ISBN 0-262-03384-4. 1320 páginas, 5 impressões até 2016, errata:
* Cormen, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L.; Stein, Clifford (2022) [1990]. Introduction to Algorithms (4ª ed.). MIT Press and McGraw-Hill. ISBN 0-262-04630-X. 1312 páginas, errata:

## Revisões

* Akl, Selim G. (1991). «Review of the 1st edition». Mathematical Reviews. MR 1066870
* Mann, C. J. H. (Abril de 2003). «New edition of algorithms book [review of 2nd edition]». Kybernetes. 32 (3). doi:10.1108/k.2003.06732cae.004
* Thimbleby, Harold (3 de dezembro de 2009). «No excuse to be illiterate about IT [review of 3rd edition]». Times Higher Education
* El-Sharoud, Walid (Setembro de 2019). «Review of 3rd edition». Science Progress. 102 (3): 278–279. doi:10.1177/0036850419873799b

## Veja também

* The Art of Computer Programming