Я граю з .NET BigInteger, і в основному мені цікаво, яке число - розрахункова відповідь буде добре - це точка відхилення кривої (графік (збільшення часу, необхідного для операцій) vs (значення BigInteger))?
або вони розроблені без такого відхилення, що якщо ми побудуємо збільшення часу, необхідного для операцій проти значення BigInteger від 1 до нескінченності, у нас буде вся плавна крива?
наприклад, якщо припустити, що масиви розроблені з можливістю обробки 50 елементів. це означає, що якщо у мене є 1 елемент, операції виконують f (1) час. і коли у мене є 2 пункти, операції - f (2) час. якщо у мене 50 предметів, операції будуть f (50) часом. але оскільки він призначений для обробки лише 50 предметів, операції, виконані, коли у нас є 51 предмет, будуть g (51), де g (51)> f (51).
Якщо правильно реалізовано, складність арифметики BigInteger повинна бути гладкою кривою. Наприклад, часова складність множення повинна бути O (NM), де N - кількість цифр у першому множині, а M - кількість цифр у другому множині. Звичайно, є практичні обмеження в тому, що ви можете вибрати N і M настільки великі, що цифри не вмістяться у вашій машині.
Чи є хтось / хто знає якісь документи, які стверджують, що він реалізований як такий?