Az összevonható kupac egy olyan adatstruktúra , amely a következő öt műveletet támogatja :
A következő két adatstruktúra egyesített kupac megvalósítás:
Ezek az adatstruktúrák két további műveletet is támogatnak:
Művelet | binomiális kupac | fibonacci kupac |
---|---|---|
rakj kupacot | Θ(1) | Θ(1) |
Beszúrás | O ( lgn ) | Θ(1) |
Minimális | O ( lgn ) | Θ(1) |
Kivonat minimum | Θ(lg n ) | O ( lgn ) |
Unió | Ω(lg n ) | Θ(1) |
Csökkentő gomb | Θ(lg n ) | Θ(1) |
Töröl | Θ(lg n ) | O ( lgn ) |
Megjegyzés: Binomiális kupac esetén a legrosszabb eset, Fibonacci kupac esetén amortizált idő.
Megjegyzés. Alapértelmezés szerint az egyesített kupacok nem csökkenő összevonható kupacok ( Mergeable min-heap ). Vannak nem növekvő összevonható kupacok is ( Mergeable max-heap ), amelyek a következő műveleteket támogatják: