Saya bermain-main dengan .NET BigInteger dan pada dasarnya saya bertanya-tanya berapa nomor - jawaban yang diperkirakan akan baik-baik saja - adalah titik deviasi dari kurva (grafik (peningkatan waktu yang diperlukan untuk operasi) vs (nilai BigInteger))?
atau apakah mereka dirancang tanpa penyimpangan sedemikian rupa sehingga jika kita memplot peningkatan waktu yang diperlukan untuk operasi vs nilai BigInteger dari 1 hingga tak terbatas, kita akan memiliki kurva yang halus sepanjang jalan?
misalnya, asumsi array dirancang dengan kemampuan menangani 50 item. ini berarti bahwa jika saya memiliki 1 item, operasi adalah f (1) waktu. dan ketika saya memiliki 2 item, operasi adalah f (2) waktu. jika saya punya 50 item, operasi adalah f (50) waktu. tetapi karena dirancang untuk menangani 50 item saja, operasi yang dilakukan ketika kita memiliki 51 item akan menjadi g (51) di mana g (51)> f (51).
Jika diimplementasikan dengan benar, kompleksitas aritmatika BigInteger harus menjadi kurva yang halus. Sebagai contoh kompleksitas waktu dari perkalian harus O (NM) di mana N adalah jumlah digit dalam perkalian pertama, dan M adalah jumlah digit dalam perkalian kedua. Tentu saja ada batasan praktis di mana Anda dapat memilih N dan M begitu besar sehingga angkanya tidak muat di mesin Anda.
Apakah ada / apakah ada yang tahu tentang dokumen yang mengklaim telah diimplementasikan?