Algoritmos em Rust
40+ algoritmos clássicos implementados em Rust — com explicações visuais, análise Big-O e código completo.
Domine algoritmos fundamentais usando Rust. Cada página inclui explicação do conceito, diagrama visual do funcionamento, análise de complexidade (tempo e espaço), implementação completa em Rust idiomático e exercícios práticos.
Categorias
Ordenação & Busca
Bubble Sort, Merge Sort, Quick Sort, Heap Sort, Binary Search e mais — os algoritmos fundamentais.
Grafos
BFS, DFS, Dijkstra, Bellman-Ford, Kruskal, Prim, ordenação topológica e caminhos mínimos.
Programação Dinâmica
Mochila, LCS, distância de edição, troco de moedas, subsequência crescente e mais clássicos de DP.
Algoritmos de Strings
KMP, Rabin-Karp, Trie, Aho-Corasick, suffix array, palíndromos e busca de padrões.
Matemática, Árvores & Avançado
BST, AVL, hash table, Union-Find, Segment Tree, crivo de Eratóstenes e exponenciação rápida.
Todos os Algoritmos
Problema do Troco de Moedas em Rust
O problema do troco de moedas é um clássico de programação dinâmica com aplicação direta no mundo real: dado um conjunto de denominações de moedas e um valor …
Subsequência Crescente Mais Longa (LIS)
A Subsequência Crescente Mais Longa (LIS — Longest Increasing Subsequence) é um dos problemas clássicos de programação dinâmica. Dado um array de números, …
Multiplicação de Cadeia de Matrizes
O problema da Multiplicação de Cadeia de Matrizes (Matrix Chain Multiplication) pergunta: dada uma sequência de matrizes a serem multiplicadas, qual a ordem de …
Problema da Soma de Subconjuntos em Rust
O problema da soma de subconjuntos (Subset Sum) é um clássico de programação dinâmica e teoria da complexidade: dado um conjunto de inteiros positivos e um …
Algoritmo KMP em Rust
O algoritmo de Knuth-Morris-Pratt (KMP) resolve o problema clássico de busca de padrões em texto: dado um texto T de comprimento n e um padrão P de comprimento …
Algoritmo Rabin-Karp em Rust
O algoritmo Rabin-Karp resolve o problema de busca de padroes em texto usando uma abordagem baseada em hashing. Em vez de comparar caractere por caractere, ele …
Trie (Arvore de Prefixos) em Rust
A Trie (pronuncia-se “trai”, de retrieval) e uma estrutura de dados em arvore especializada para armazenar e buscar strings de forma extremamente eficiente. …
Algoritmo Aho-Corasick em Rust
O algoritmo de Aho-Corasick resolve um dos problemas mais importantes em processamento de texto: buscar multiplos padroes simultaneamente em um texto. Enquanto …
Suffix Array em Rust
O Suffix Array (array de sufixos) e uma estrutura de dados que armazena todos os sufixos de uma string em ordem lexicografica. E uma alternativa eficiente em …
Algoritmo de Manacher em Rust
O algoritmo de Manacher resolve o problema de encontrar a maior substring palindromica em tempo linear O(n). Um palindromo e uma string que se le da mesma forma …