Среднее время на операцию вставки в динамическом массиве составляет / (а-1) - PullRequest
3 голосов
/ 27 июля 2011

В статье в Википедии о динамических массивах упоминается (кроме обычного раздела по амортизированному времени вставки), что:

Значение этой пропорции a [постоянный коэффициент, на который мы увеличиваем емкость], приводит к пространственно-временному компромиссу: среднее время на операцию вставки составляет около a / (a ​​− 1), в то время как количество потерянных клеток ограничено сверху (a − 1) n.

Я могу видеть, откуда (a-1) n для потраченных клеток, но кто-нибудь может объяснить мне, почему среднее время составляет / (a-1)?

1 Ответ

0 голосов
/ 07 мая 2015

Пусть S будет временем вставки n элементов.

  • В этих n элементах есть n элементов стоимостью как минимум 1 выделение.
  • В этих n элементах есть n / a элементов стоимостью как минимум 2 выделения.
  • В этих n элементах есть n / a ^ 2 элемента стоимостью как минимум 3 выделения.
  • ...

???

Следовательно, a / (a-1) - это средняя сложность вставки элемента.

...