Пусть

--- длина массива,

--- число элементов в массиве (

элементов содержат мусор). Периодически происходит добавление в массив элементов по одному, причем максимально возможное число элементов неизвестно. Когда в массиве не остаётся свободных мест, приходится в новом месте выделять область памяти большего размера и переносить в неё старую информацию.
Предлагается каждый раз при создании нового массива выделять в

раза больше памяти, чем занимал предыдущий. Вопрос: является ли это оптимальным подходом?