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 |
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
- Swift: online.swiftplayground.run
- 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.