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 e Javascript.
Algoritmos | C/C++ | Java | Python | Go | Ruby | Javascript |
---|---|---|---|---|---|---|
Algoritmo Dijkstra | C/C++ | Java | Python | Go | Ruby | Javascript |
Algoritmo Floyd Warshall | C/C++ | Java | Python | Go | Ruby | Javascript |
Busca Binária | C/C++ | Java | Python | Go | Ruby | Javascript |
Busca em Grafos | C/C++ | Java | Python | Go | Ruby | Javascript |
Busca Sequencial | C/C++ | Java | Python | Go | Ruby | Javascript |
Busca Sequencial Recursiva | C/C++ | Java | Python | Go | Ruby | Javascript |
Busca utilizando Sentinela | C/C++ | Java | Python | Go | Ruby | Javascript |
Busca por Interpolação | C/C++ | Java | Python | Go | Ruby | Javascript |
Caixeiro Viajante | C/C++ | Java | Python | Go | Ruby | Javascript |
Ciclo Hamiltoniano | C/C++ | Java | Python | Go | Ruby | Javascript |
Componentes Conexos | C/C++ | Java | Python | Go | Ruby | Javascript |
Exponenciação | C/C++ | Java | Python | Go | Ruby | Javascript |
Exponenciação Recursiva | C/C++ | Java | Python | Go | Ruby | Javascript |
Fatorial | C/C++ | Java | Python | Go | Ruby | Javascript |
Fatorial Recursiva | C/C++ | Java | Python | Go | Ruby | Javascript |
Fibonacci | C/C++ | Java | Python | Go | Ruby | Javascript |
Máximo Recursivo | C/C++ | Java | Python | Go | Ruby | Javascript |
Mínimo e Máximo Iterativo | C/C++ | Java | Python | Go | Ruby | Javascript |
Mínimo e Máximo Recursivo | C/C++ | Java | Python | Go | Ruby | Javascript |
Mínimo e Máximo Divisão e Conquista | C/C++ | Java | Python | Go | Ruby | Javascript |
Passeio do Cavalo | C/C++ | Java | Python | Go | Ruby | Javascript |
Torre de Hanói | C/C++ | Java | Python | Go | Ruby | Javascript |
Algoritmo Genético | C/C++ | Java | Python | Go | Ruby | Javascript |
Estruturas de Dados | C/C++ | Java | Python | Go | Ruby | Javascript |
---|---|---|---|---|---|---|
Árvore Binária de Busca | C/C++ | Java | Python | Go | Ruby | Javascript |
Árvore Binária Utilizando Classes | C/C++ | Java | Python | Go | Ruby | Javascript |
Deque | C/C++ | Java | Python | Go | Ruby | Javascript |
Fila | C/C++ | Java | Python | Go | Ruby | Javascript |
Fila Encadeada Dinâmica | C/C++ | Java | Python | Go | Ruby | Javascript |
Grafo | C/C++ | Java | Python | Go | Ruby | Javascript |
Lista Circular Ligada | C/C++ | Java | Python | Go | Ruby | Javascript |
Lista Encadeada | C/C++ | Java | Python | Go | Ruby | Javascript |
Lista Duplamente Encadeada | C/C++ | Java | Python | Go | Ruby | Javascript |
Lista Ligada Não Ordenada | C/C++ | Java | Python | Go | Ruby | Javascript |
Lista Sequencial Ordenada | C/C++ | Java | Python | Go | Ruby | Javascript |
Pilha | C/C++ | Java | Python | Go | Ruby | Javascript |
Pilha Ligada Dinâmica | C/C++ | Java | Python | Go | Ruby | Javascript |
Algoritmos de Ordenação | C/C++ | Java | Python | Go | Ruby | Javascript |
---|---|---|---|---|---|---|
Bogo Sort | C/C++ | Java | Python | Go | Ruby | Javascript |
Bubble Sort | C/C++ | Java | Python | Go | Ruby | Javascript |
Bucket Sort | C/C++ | Java | Python | Go | Ruby | Javascript |
Cocktail Sort | C/C++ | Java | Python | Go | Ruby | Javascript |
Comb Sort | C/C++ | Java | Python | Go | Ruby | Javascript |
Counting Sort | C/C++ | Java | Python | Go | Ruby | Javascript |
Gnome Sort | C/C++ | Java | Python | Go | Ruby | Javascript |
Heapsort | C/C++ | Java | Python | Go | Ruby | Javascript |
Insertion Sort | C/C++ | Java | Python | Go | Ruby | Javascript |
Insertion Sort Recursivo | C/C++ | Java | Python | Go | Ruby | Javascript |
Merge Sort | C/C++ | Java | Python | Go | Ruby | Javascript |
Quicksort | C/C++ | Java | Python | Go | Ruby | Javascript |
Radix Sort | C/C++ | Java | Python | Go | Ruby | Javascript |
Selection Sort | C/C++ | Java | Python | Go | Ruby | Javascript |
Shell Sort | C/C++ | Java | Python | Go | Ruby | Javascript |
Timsort | C/C++ | Java | Python | Go | Ruby | Javascript |
Extras | C/C++ | Java | Python | Go | Ruby | Javascript |
---|---|---|---|---|---|---|
Lista com 2 Pilhas | C/C++ | Java | Python | Go | Ruby | Javascript |
Problema da Soma de 2 Números | C/C++ | Java | Python | Go | Ruby | Javascript |
Palíndromo | C/C++ | Java | Python | Go | Ruby | Javascript |
Lista Encadeada Desordenada | C/C++ | Java | Python | Go | Ruby | Javascript |
Calcula o PI (Fórmula de Leibniz) | C/C++ | Java | Python | Go | Ruby | Javascript |
Busca em Labirinto | C/C++ | Java | Python | Go | Ruby | Javascript |
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.