Repolode
trekhleb

trekhleb/javascript-algorithms

Coleção em JavaScript de algoritmos clássicos e estruturas de dados, cada um com explicações e links para leituras complementares.

Estrelas
196,685
Forks
31,010
Issues abertas
413
Último commit
há 3 meses

O que é?

Este repositório implementa uma ampla variedade de algoritmos comuns e estruturas de dados em JavaScript. Inclui estruturas básicas, como listas encadeadas, pilhas, filas, tabelas hash e heaps, além de árvores (BST, AVL, red-black, segment e Fenwick), grafos, tries e caches LRU.

Os algoritmos são organizados por tema (matemática, conjuntos, strings, busca, ordenação, grafos, criptografia e alguns exemplos de machine learning) e por paradigma, como força bruta, guloso, divisão e conquista, programação dinâmica e backtracking. Cada item é identificado por nível de dificuldade e contém um link para sua própria página de explicação.

O repositório também inclui tabelas de complexidade Big O para estruturas de dados e algoritmos de ordenação, além de scripts npm para instalar dependências, executar o ESLint e rodar testes pelo nome.

Recursos principais

  • 01Implementa estruturas de dados fundamentais, incluindo listas encadeadas, heaps, tries e várias variantes de árvores.
  • 02Organiza os algoritmos por tema e por paradigma, como programação dinâmica e backtracking.
  • 03Cada algoritmo contém um link para uma página de explicação separada, com leituras complementares e referências a vídeos.
  • 04Inclui tabelas comparativas de complexidade Big O para estruturas de dados e algoritmos de ordenação.
  • 05Oferece scripts npm para executar o lint e os testes, inclusive com filtros por nome.

Casos de uso

  • Preparar-se para entrevistas técnicas que avaliam algoritmos em JavaScript.
  • Estudar o funcionamento de uma estrutura de dados ou de um algoritmo de ordenação lendo sua implementação.
  • Consultar a complexidade de tempo e espaço de estruturas e algoritmos de ordenação comuns.
  • Usar o código como referência ao implementar uma lógica semelhante em um projeto JavaScript.

Tópicos

Perguntas frequentes

O que é javascript-algorithms?
Coleção em JavaScript de algoritmos clássicos e estruturas de dados, cada um com explicações e links para leituras complementares. Este repositório implementa uma ampla variedade de algoritmos comuns e estruturas de dados em JavaScript. Inclui estruturas básicas, como listas encadeadas, pilhas, filas, tabelas hash e heaps, além de árvores (BST, AVL, red-black, segment e Fenwick), grafos, tries e caches LRU.
javascript-algorithms é gratuito? Qual é a licença?
javascript-algorithms é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
javascript-algorithms ainda é mantido?
Atualizado nos últimos 6 meses. O último commit de javascript-algorithms foi em 26 de jul. de 2026.
Para que posso usar javascript-algorithms?
Preparar-se para entrevistas técnicas que avaliam algoritmos em JavaScript. Estudar o funcionamento de uma estrutura de dados ou de um algoritmo de ordenação lendo sua implementação. Consultar a complexidade de tempo e espaço de estruturas e algoritmos de ordenação comuns. Usar o código como referência ao implementar uma lógica semelhante em um projeto JavaScript.
Onde consigo javascript-algorithms?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/trekhleb/javascript-algorithms

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados