Pular para o conteúdo

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íliaAlgoritmosPágina
buscabusca_binaria, limite_inferiorBusca
ordenaçãoordenar_mesclando, ordenar_contandoOrdenação
grafosbfs, dfs, ordem_topologica, dijkstra, caminhoGrafos
programação dinâmicalcs, levenshtein, mochilaProgramação dinâmica
texto e númeroskmp, crivoTexto