Este repositório disponibiliza alguns algoritmos e estruturas de dados clássicos em Ciência da Computação. Além disso, disponibiliza também alguns problemas extras que são encontrados com frequência em desafios de programação.
Com o objetivo de alcançar uma abrangência maior e encorajar novas pessoas a contribuir com o projeto, os algoritmos são disponibilizados nas seguintes linguagens: C, C++, Java, Python, Go, Ruby, Javascript, Pascal, Swift e Rust.
Algoritmos | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
---|---|---|---|---|---|---|---|---|---|---|
Algoritmo Dijkstra | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Algoritmo Floyd Warshall | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Busca Binária | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Busca em Grafos | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Busca Sequencial | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Busca Sequencial Recursiva | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Busca utilizando Sentinela | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Busca por Interpolação | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Caixeiro Viajante | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Ciclo Hamiltoniano | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Componentes Conexos | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Exponenciação | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Exponenciação Recursiva | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Fatorial | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Fatorial Recursiva | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Fibonacci | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Máximo Recursivo | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Mín. e Máx. Iterativo | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Mín. e Máx. Recursivo | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Mín. e Máx. D&C | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Passeio do Cavalo | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Torre de Hanói | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Algoritmo Genético | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Algoritmo de Huffman | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Algoritmo LZ77 | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Estruturas de Dados | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
---|---|---|---|---|---|---|---|---|---|---|
Árvore Binária | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Árvore Binária de Busca | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Deque | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Fila | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Fila Encadeada Dinâmica | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Grafo | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Lista Circular Ligada | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Lista Encadeada | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Lista Duplamente Encadeada | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Lista Ligada Não Ordenada | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Lista Sequencial Ordenada | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Pilha | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Pilha Ligada Dinâmica | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Algoritmos de Ordenação | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
---|---|---|---|---|---|---|---|---|---|---|
Bogo Sort | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Bubble Sort | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Bucket Sort | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Cocktail Sort | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Comb Sort | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Counting Sort | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Gnome Sort | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Heapsort | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Insertion Sort | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Merge Sort | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Quicksort | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Radix Sort | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Selection Sort | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Shell Sort | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Timsort | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Extras | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
---|---|---|---|---|---|---|---|---|---|---|
Lista com 2 Pilhas | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Soma de 2 Números | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Palíndromo | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Lista Ligada Desordenada | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Calculo do PI (Leibniz) | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
Busca em Labirinto | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
- C++: cpp.sh
- Go: play.golang.org
- Rust: play.rust-lang.org
- Generic: code.sololearn.com
Fique à vontade para contribuir com o projeto, toda contribuição é bem vinda. 😁
Se você tem dúvida de como contribuir, dê uma olhada no arquivo CONTRIBUTING.