Я только что закончил экзамен, и один из вопроса было в итоге:выполнение динамического массива, увеличивающая константой вместо удвоения
Учитывая пустой массив размера 1000, что амортизированная стоимость вставки n элементов в массив? Когда массив заполнен, вместо удвоения массива мы увеличиваем его на 1000 и копируем все элементы в новый массив, как и для динамических таблиц.
Я ответил O (n), но я не уверен в своем ответе. Я знаю, что амортизированное время выполнения динамической таблицы удвоения равно 2, но я не мог найти много информации о динамических таблицах, которые растут с постоянным размером.
Вы имеете в виду: k * (A + (A + A) + (A + 2A) + ... + (A + (N-1) * A)) вместо этого of: k * (A + (A + A) + (A + 2A) + (A + (N-1) * A)), поскольку в середине может быть больше членов? Я дошел до этого момента, но я не мог упростить его, не могли бы вы немного объяснить, как вы упростили его до: k * (A * N + A * N * (N-1)/2)? – user1320353
Да, конечно, я пропустил «...», исправил и добавил несколько слов – MBo
N = n/1000 в моем случае правильно? – user1320353