Попробуйте следующее:
Вес элемента i в куче H - это его глубина в соответствующем двоичном дереве. Таким образом, элемент в корне имеет нулевой вес, два его ребенка имеют вес 1 и так далее. Вы определяете как потенциальную функциювесяяЧАС
Φ ( H) = ∑i ∈ H2 Втя,
Давайте теперь проанализируем операции с кучей. Для вставки вы добавляете новый элемент, добавьте глубину не более log ( n ) . Это увеличивает потенциал, 2 д , и может быть сделано в O ( 1 ) времени. Затем вы «всплываете» новый элемент кучи, чтобы обеспечить свойство кучи. Это занимает O ( log n ) времени и оставляет Φ ( H ) без изменений. Таким образом, затраты на вставку составляют O ( log ( n ) + Δ ( Φ (dжурнал( н )2 дO ( 1 )O ( журналн )Φ ( H) .O ( журнал( n ) + Δ ( Φ ( H) ) ) = O ( логн )
Теперь рассмотрим экстракт Мин . Вы вынимаете корень и заменяете его последним элементом в куче. Это уменьшает потенциал на , таким образом, вы можете позволить себе восстановить свойство кучи, и поэтому амортизированные затраты теперь составляют O ( 1 ) .2 журнала( н )O ( 1 )
Если у вас есть общий вопрос о потенциальной функции, вы должны поставить его как другой вопрос.