Предположим, вы реализуете кучу, используя массив, и каждый раз, когда массив заполняется, вы копируете его в массив, удвоенный по размеру. Какова амортизированная временная сложность (в худшем случае) вставки элементов в кучу?
Я думаю, что у нас есть T(n) = n * n
(это верхняя граница общей стоимости последовательности из n операций в худшем случае), и тогда амортизированная сложность по одной формуле равна T(n) / n = n^n / n = n
.
Но я думаю, что это очень неправильно, потому что из интуиции очень ясно, что я должен получить log(n)
или ниже ... Итак, как мне это рассчитать?