Coleção de algoritmos mantida pela comunidade e implementada em Python, voltada ao aprendizado e à educação.
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
Lista selecionada de cursos online de robótica, aulas universitárias, livros e recursos práticos, com tags bilíngues, para quem estuda por conta própria.
Uma trilha gratuita e no seu ritmo por um currículo completo de ciência da computação, com cursos online e livros organizados em níveis introdutório, básico e avançado.
Lista selecionada de cursos universitários de ciência da computação com aulas em vídeo, organizada por tema.
Uma lista de longa data de perguntas e respostas para entrevistas sobre ReactJS, cobrindo React, Router, Redux, testes e React Native.
Bibliotecas open source para React e Svelte que permitem criar interfaces interativas baseadas em nós, como fluxogramas, grafos e editores de workflows.