Os clássicos, prontos
Arcane.Algoritmos — catorze algoritmos com a complexidade declarada, e conferidos contra a versão ingênua.
Entender por que um Dijkstra é O((V + E) log V) é uma coisa; escrevê-lo certo às três da manhã é outra. Arcane.Algoritmos traz os clássicos prontos, e cada um responde a sua complexidade como dado — e é testado contra a versão óbvia e lenta, em centenas de entradas sorteadas.
dataforge
adopt Arcane.Algoritmos as Alg
cycle a in Alg.catalogo():
out $"{a['nome'].pad_end(18)} {a['tempo'].pad_end(16)} {a['nota']}"
assert Alg.complexidade("dijkstra")["tempo"] is "O((V + E) log V)"
assert len(Alg.catalogo()) is 14| Família | Algoritmos | Página |
|---|---|---|
| busca | busca_binaria, limite_inferior | Busca |
| ordenação | ordenar_mesclando, ordenar_contando | Ordenação |
| grafos | bfs, dfs, ordem_topologica, dijkstra, caminho | Grafos |
| programação dinâmica | lcs, levenshtein, mochila | Programação dinâmica |
| texto e números | kmp, crivo | Texto |