Я хочу знать, какой алгоритм является самым быстрым для умножения двух n-значных чисел? Пространственная сложность может быть смягчена здесь!
Я хочу знать, какой алгоритм является самым быстрым для умножения двух n-значных чисел? Пространственная сложность может быть смягчена здесь!
Ответы:
На данный момент алгоритм Фюрера Мартина Фюрера имеет временную сложность которой используются преобразования Фурье по комплексным числам. Его алгоритм фактически основан на алгоритме Шенхаге и Штрассена, который имеет временную сложность
Другими алгоритмами, которые работают быстрее, чем алгоритм умножения в начальной школе, являются умножение Карацубы, которое имеет временную сложность ≈ и алгоритм Toom 3, который имеет временную сложность из
Обратите внимание, что это быстрые алгоритмы. Найти быстрый алгоритм для умножения является открытой проблемой в области компьютерных наук.
Ссылки :
Обратите внимание, что алгоритмы FFT, перечисленные в avi, добавляют большую константу, что делает их непрактичными для чисел, меньших, чем тысячи + бит.
В дополнение к этому списку, есть еще несколько интересных алгоритмов и открытых вопросов: