Quero saber qual algoritmo é mais rápido para a multiplicação de dois números de n dígitos? A complexidade do espaço pode ser relaxada aqui!
Quero saber qual algoritmo é mais rápido para a multiplicação de dois números de n dígitos? A complexidade do espaço pode ser relaxada aqui!
Respostas:
Atualmente, o algoritmo de Fürer de Martin Fürer possui uma complexidade temporal de que utiliza transformadas de Fourier sobre números complexos. Seu algoritmo é realmente baseado no algoritmo de Schönhage e Strassen, que tem uma complexidade de de
Outros algoritmos que são mais rápidos que o algoritmo de multiplicação da escola primária são a multiplicação de Karatsuba, que possui uma complexidade de tempo de ≈ e de algoritmo Toom 3, que possui complexidade de tempo de
Observe que esses são os algoritmos rápidos. Encontrar o algoritmo mais rápido para multiplicação é um problema em aberto na Ciência da Computação.
Referências :
Observe que os algoritmos FFT listados por avi adicionam uma constante grande, tornando-os impraticáveis para números menores que milhares + bits.
Além dessa lista, existem outros algoritmos interessantes e perguntas em aberto: