Voglio sapere quale algoritmo è il più veloce per la moltiplicazione di due numeri a n cifre? La complessità dello spazio può essere rilassata qui!
Voglio sapere quale algoritmo è il più veloce per la moltiplicazione di due numeri a n cifre? La complessità dello spazio può essere rilassata qui!
Risposte:
Al momento l'algoritmo di Fürer di Martin Fürer ha una complessità temporale di che utilizza trasformazioni di Fourier su numeri complessi. Il suo algoritmo si basa in realtà sull'algoritmo di Schönhage e Strassen che ha una complessità temporale di
Altri algoritmi che sono più veloci dell'algoritmo di moltiplicazione della scuola elementare sono la moltiplicazione di Karatsuba che ha una complessità temporale di ≈ e l'algoritmo Toom 3 che ha una complessità temporale diO ( n 1.585 ) Θ ( n 1.465 )
Si noti che questi sono gli algoritmi veloci. Trovare algoritmo più veloce per la moltiplicazione è un problema aperto in Informatica.
Riferimenti :
Si noti che gli algoritmi FFT elencati da avi aggiungono una grande costante, rendendoli poco pratici per numeri inferiori a migliaia + bit.
Oltre a tale elenco, ci sono altri algoritmi interessanti e domande aperte: