Función potencial extracto de montón binario max O (1)

10

Necesito ayuda para calcular la función potencial de un montón máximo para que el extracto máximo se complete en tiempo amortizado. Debo agregar que no entiendo bien el método potencial.O(1)

Sé que la función de inserción debería "pagar" más para reducir el costo de la extracción, y esto tiene que ver con la altura del montón (si da la altura del montón si inserte be 2 log ( n ) o n k = 1 2 log ( k ) )log(n)2log(n)k=1n2log(k)

andrei
fuente

Respuestas:

13

Intenta lo siguiente:

El peso de un elemento i en el montón H es su profundidad en el árbol binario correspondiente. Entonces el elemento en la raíz tiene un peso cero, sus dos hijos tienen un peso 1 y así sucesivamente. El lo define como función potencialwiiH

Φ(H)=iH2wi.

dlog(n)2dO(1)O(logn)Φ(H)O(log(n)+Δ(Φ(H)))=O(logn)

2log(n)O(1)

Si tiene una pregunta general sobre la función potencial, debe plantearla como una pregunta diferente.

A.Schulz
fuente
Δ(Φ(H)))Δ
Δ(Φ(H))2log(n)
¿Cómo es la reparación O (1)? ¿Para qué sirve la función potencial en la reparación del montón? ¿Podría
aclararme
O(logn)O(1)
@ A.Schulz Entonces, en esencia, esto significa que dado que la operación de extracción se realiza varias veces, ya que cada vez que la función potencial disminuiría en 2logn (puede aumentar o no de manera equitativa después de la reparación). La complejidad general para tal cosa sería un tiempo constante ya que eventualmente no habría ningún nodo en el árbol. Estoy en lo cierto?
Sohaib