Как необязательное назначение, я думаю о написании собственной реализации класса BigInteger, где я буду предоставлять свои собственные методы для сложения, вычитания, умножения и т.д.
Это будет для сколь угодно больших целых чисел, даже для сотен цифр.
При выполнении математики на этих цифрах цифры по цифре не сложно, как вы думаете, лучшая структура данных будет представлять мой "BigInteger"?
Сначала я рассматривал возможность использования массива, но тогда я думал, что могу по-прежнему потенциально переполняться (заканчивать слоты массива) после большого добавления или умножения. Будет ли это хорошим примером использования связанного списка, так как я могу привязываться к цифрам с временной сложностью O (1)?
Есть ли какая-то другая структура данных, которая была бы даже лучше, чем связанный список? Должен ли тип, который имеет моя структура данных, быть наименьшим возможным целочисленным типом, доступным мне?
Кроме того, следует ли мне быть осторожным в том, как хранить свою переменную "переносить"? Должен ли он сам быть моим "BigInteger"?