stringtranslate.com

Montón fusionable

En informática , un montón fusionable (también llamado montón combinable ) es un tipo de datos abstracto , que es un montón que admite una operación de fusión.

Definición

Un montón fusionable admite las operaciones de montón habituales: [1]

Y una más que la distingue: [1]

Implementación trivial

Es sencillo implementar un montón fusionable dado un montón simple:

Merge(H1,H2):

  1. x ← Extract-Min(H2)
  2. while x ≠ Nil
    1. Insert(H1, x)
    2. x ← Extract-Min(H2)

Sin embargo, esto puede ser un desperdicio, ya que normalmente cada uno Extract-Min(H)tiene Insert(H,x)que mantener la propiedad del montón .

Implementaciones más eficientes

Algunos ejemplos de estructuras de datos de montón fusionables incluyen:

Se puede encontrar una lista más completa con comparaciones de rendimiento en Heap (estructura de datos) § Comparación de límites teóricos para variantes .

En la mayoría de las estructuras de montón fusionables, la fusión es la operación fundamental en la que se basan las demás. La inserción se implementa fusionando un nuevo montón de un solo elemento con el montón existente. La eliminación se implementa fusionando los elementos secundarios del nodo eliminado.

Véase también

Referencias

  1. ^ ab Cormen, Thomas H .; Leiserson, Charles E .; Rivest, Ronald L .; Stein, Clifford (2009) [1990]. Introducción a los algoritmos (3ª ed.). MIT Press y McGraw-Hill. págs. 505–506. ISBN 0-262-03384-4.