Algoritmos
Principais Livros e Artigos
- HOROWITZ, Ellis; SAHNI, Sartaj. Fundamentals of Computer Algorithms. Rockville, MA: Computer Science Press, 1978. 640 p.
- KNUTH, Donald E.
The Art of Computer Programming
- Vol. 1: Fundamental Algorithms. 3ª ed. Reading, MA: Addison-Wesley, 1997.
- Vol. 2: Seminumerical Algorithms. 3ª ed. Reading, MA: Addison-Wesley, 1997.
- Vol. 3: Sorting and Searching. 2ª ed. Reading, MA: Addison-Wesley, 1998.
Outros Livros e Artigos Interessantes
- APOSTOLICO, Alberto et al. 40 Years of Suffix Trees. Communications of the ACM, New York, v. 59, nº 4, p. 66-73, Apr. 2016.
- CORMEN, Thomas. Algoritmos, Teoria e Prática. 2ª ed. Rio de Janeiro: Campus, 2002.
- CORMODE, Graham. Data Sketching. Communications of the ACM, New York, v. 60, nº 9, p. 48-55, Sep. 2017.
- DAVIS, Ernest. Lousy Advice to the Lovelorn. Communications of the ACM, New York, v. 60, nº 12, p. 33-35, Dec. 2017.
- GOODRICH, Michael T.; TAMASIA, Robert. Algorithm Design: Foundation, Analysis and Internet Examples. West Sussex: John Wiley and Sons, 2001.
- GREENGARD, Samuel. The Algorithm that Changed Machine Learning. Communications of the ACM, New York, v. 62, nº 8, p. 15-17, Aug. 2019. DOI 10.1145/3339458.
- HEULE, Marijn J. H.; KULLMANN, Oliver. The Science of Brute Force. Communications of the ACM, New York, v. 60, nº 8, p. 70-79, Aug. 2017.
- IMMORLICA, Nicole. A Graph-Theoretic Framework Traces Task Planning. Communications of the ACM, New York, v. 61, nº 3, p. 98, Mar. 2018. DOI 10.1145/3176187.
- KLARREICH, Erica. Good Algorithms Make Good Neighbors. Communications of the ACM, New York, v. 62, nº 7, p. 11-13, Jul. 2019. DOI 10.1145/3329712. [Descreve um algoritmo para encontrar o vizinho mais próximo em um conjunto de dados usando um tipo de grafo chamado "norma".]
- KLARREICH, Erika. Multiplication Hits the Speed Limit. Communications of the ACM, New York, v. 63, nº 1, p. 11-13, Jan. 2020. DOI 10.1145/3371387. [Apresenta novo algoritmo para multiplica¸ão com complexidade n log(n).]
- KLEINBERG, Jon; OREN, Signal. Time-Inconsistency Planning: A Computational Problem in Behavioral Economics. Communications of the ACM, New York, v. 61, nº 3, p. 99-107, Mar. 2018. DOI 10.1145/3176189.
- LIMONCELLI, Thomas A. 10 Optimizations on Linear Search. Communications of the ACM, New York, v. 59, nº 9, p. 44-48, Sep. 2016.
- LIVNAT, Adi; PAPADIMITRIOU, Christos. Sex as an Algorithm: The Theory of Evolution Under the Lens of Computation. Communications of the ACM, New York, v. 59, nº 11, p. 84-93, Nov. 2016.
- McGEOCH, Catherine C. Experimental Algorithms. Communications of the ACM, New York, v. 50, nº 11, p. 27-31, Nov. 2007.
- McMULLEN, Tyler. It Probably Works. Communications of the ACM, New York, v. 58, nº 11, p. 50-54, Nov. 2015. [Discute o uso de algoritmos probabilísticos.]
- MITZENMACHER, Michael; VASSILVITSKII, Sergei. Algorithms with Predictions. Communications of the ACM, New York, v. 65, nº 7, p. 33-35, Jul. 2022. DOI 10.1145/3528087.
- MONROE, Don. Bouncing Balls and Quantum Computing. Communications of the ACM, New York, v. 63, nº 10, p. 10-12, Oct. 2020. DOI 10.1145/3416076. [Discute semelhanças entre um método físico para calcular pi e um algoritmo fundamental da computação quântica.]
- PROCACCIA, Ariel D. An Answer to Fair Division's Most Enigmatic Question. Communications of the ACM, New York, v. 83, nº 4, p. 118, Apr. 2020. DOI 10.1145/3382131.
- PUGA, Sandra; RISSETTI, G. Lógica de Programação e Estrutura de Dados. [s.l.]: Prentice-Hall, 2004.
- SAVAGE, Neil. Graph Machine in Theory and Practice. Communications of the ACM, New York, v. 59, nº 7, p. 12-14, Jul. 2016.
- SEDGEWICK, Robert. Algorithms in Java (Parts 1-5): Fundamentals, Data Structures, Sorting, Searching, and Graph Algorithms. 3ª ed. Reading, MA: Addison-Wesley, 2003.
- SOUZA, João N. Lógica para Ciência de Computação. Rio de Janeiro: Campus, 2002.
- VAANDRAGER, Frits. Model Learning. Communications of the ACM, New York, v. 60, nº 2, p. 86-95, Feb. 2017.
- WANG, Gang; CHEN, Hsinchun; ATABAKHSH, Homa. Automatically Detecting Deceptive Criminal Identities. Communications of the ACM, New York, v. 47, nº 3, p. 70-76, Mar. 2004. [Discute métodos para estabelecer relacionamentos entre dados ”sujos“ fornecidos por criminosos e dispersos por diversos sistemas.]
Existem também livros especializados em Estruturas de Dados e seus algoritmos básicos.