我应该使用什么数据结构来创建自己的“BigInteger”类?
2022-09-04 04:20:01
作为可选作业,我正在考虑编写自己的BigInteger类的实现,在那里我将提供自己的加法,减法,乘法等方法。
这将适用于任意长的整数,甚至数百位数字。
在对这些数字进行数学运算时,逐位数字并不难,您认为最好的数据结构是什么来代表我的“BigInteger”?
起初我正在考虑使用数组,但后来我想,在进行大量加法或乘法后,我仍然可能溢出(数组插槽用完)。这是否是使用链表的好例子,因为我可以用O(1)时间复杂度来附加数字?
还有其他一些数据结构比链表更适合吗?我的数据结构所包含的类型是否应为我可用的最小可能的整数类型?
另外,我应该小心如何存储我的“carry”变量吗?它本身应该是我的“BigInteger”类型吗?