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 e Pascal.
| Estruturas de Dados | C/C++ | Java | Python | Go | Ruby | Javascript | Pascal |
|---|---|---|---|---|---|---|---|
| Árvore Binária de Busca | C/C++ | Java | Python | Go | Ruby | Javascript | Pascal |
| Árvore Binária Utilizando Classes | C/C++ | Java | Python | Go | Ruby | Javascript | Pascal |
| Deque | C/C++ | Java | Python | Go | Ruby | Javascript | Pascal |
| Fila | C/C++ | Java | Python | Go | Ruby | Javascript | Pascal |
| Fila Encadeada Dinâmica | C/C++ | Java | Python | Go | Ruby | Javascript | Pascal |
| Grafo | C/C++ | Java | Python | Go | Ruby | Javascript | Pascal |
| Lista Circular Ligada | C/C++ | Java | Python | Go | Ruby | Javascript | Pascal |
| Lista Encadeada | C/C++ | Java | Python | Go | Ruby | Javascript | Pascal |
| Lista Duplamente Encadeada | C/C++ | Java | Python | Go | Ruby | Javascript | Pascal |
| Lista Ligada Não Ordenada | C/C++ | Java | Python | Go | Ruby | Javascript | Pascal |
| Lista Sequencial Ordenada | C/C++ | Java | Python | Go | Ruby | Javascript | Pascal |
| Pilha | C/C++ | Java | Python | Go | Ruby | Javascript | Pascal |
| Pilha Ligada Dinâmica | C/C++ | Java | Python | Go | Ruby | Javascript | Pascal |
| Algoritmos de Ordenação | C/C++ | Java | Python | Go | Ruby | Javascript | Pascal |
|---|---|---|---|---|---|---|---|
| Bogo Sort | C/C++ | Java | Python | Go | Ruby | Javascript | Pascal |
| Bubble Sort | C/C++ | Java | Python | Go | Ruby | Javascript | Pascal |
| Bucket Sort | C/C++ | Java | Python | Go | Ruby | Javascript | Pascal |
| Cocktail Sort | C/C++ | Java | Python | Go | Ruby | Javascript | Pascal |
| Comb Sort | C/C++ | Java | Python | Go | Ruby | Javascript | Pascal |
| Counting Sort | C/C++ | Java | Python | Go | Ruby | Javascript | Pascal |
| Gnome Sort | C/C++ | Java | Python | Go | Ruby | Javascript | Pascal |
| Heapsort | C/C++ | Java | Python | Go | Ruby | Javascript | Pascal |
| Insertion Sort | C/C++ | Java | Python | Go | Ruby | Javascript | Pascal |
| Insertion Sort Recursivo | C/C++ | Java | Python | Go | Ruby | Javascript | Pascal |
| Merge Sort | C/C++ | Java | Python | Go | Ruby | Javascript | Pascal |
| Quicksort | C/C++ | Java | Python | Go | Ruby | Javascript | Pascal |
| Radix Sort | C/C++ | Java | Python | Go | Ruby | Javascript | Pascal |
| Selection Sort | C/C++ | Java | Python | Go | Ruby | Javascript | Pascal |
| Shell Sort | C/C++ | Java | Python | Go | Ruby | Javascript | Pascal |
| Timsort | C/C++ | Java | Python | Go | Ruby | Javascript | Pascal |
| Extras | C/C++ | Java | Python | Go | Ruby | Javascript | Pascal |
|---|---|---|---|---|---|---|---|
| Lista com 2 Pilhas | C/C++ | Java | Python | Go | Ruby | Javascript | Pascal |
| Problema da Soma de 2 Números | C/C++ | Java | Python | Go | Ruby | Javascript | Pascal |
| Palíndromo | C/C++ | Java | Python | Go | Ruby | Javascript | Pascal |
| Lista Encadeada Desordenada | C/C++ | Java | Python | Go | Ruby | Javascript | Pascal |
| Calcula o PI (Fórmula de Leibniz) | C/C++ | Java | Python | Go | Ruby | Javascript | Pascal |
| Busca em Labirinto | C/C++ | Java | Python | Go | Ruby | Javascript | Pascal |
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.