A Krūva yra visa dvejetainio medžio duomenų struktūra, atitinkanti krūvos savybę: kiekvieno mazgo antrinių elementų vertė yra mažesnė arba lygi jo paties vertei. Krūvos dažniausiai naudojamos prioritetinėms eilėms įgyvendinti, kai mažiausias (arba didžiausias) elementas visada yra medžio šaknyje.
a-b genėjimas

Krūvos duomenų struktūra
Turinys
- Krūvų tipai
- Krūvos operacijos
- Kas yra krūvos duomenų struktūra?
A krūva yra dvejetainė medžiu pagrįsta duomenų struktūra, atitinkanti krūvos savybę: kiekvieno mazgo vertė yra didesnė arba lygi jo antrinių dydžių vertei. Ši savybė užtikrina, kad šakniniame mazge yra maksimalus arba minimumas vertė (atsižvelgiant į krūvos tipą), o vertės mažėja arba didėja, kai judate medžiu žemyn.
Krūvų tipai
Yra du pagrindiniai krūvų tipai:
- Didžiausia krūva: Šakniniame mazge yra didžiausia reikšmė, o vertės mažėja judant medžiu žemyn.
- Min. krūva: Šakniniame mazge yra mažiausia reikšmė, o reikšmės didėja judant medžiu žemyn.
Krūvos operacijos
Įprastos krūvos operacijos yra:
nuorodos rodyklė c
- Įdėti : prideda naują elementą į krūvą išlaikant krūvos ypatybę.
- Ištrauka maks./min.: Pašalina didžiausią arba mažiausią elementą iš krūvos ir grąžina jį.
- Sukrauti : paverčia savavališką dvejetainį medį į krūvą.
Krūvos dažniausiai naudojamos prioritetinėms eilėms įgyvendinti, kai elementai gaunami pagal jų prioritetą (maksimalią arba mažiausią vertę).
- Grupės rūšiavimas yra rūšiavimo algoritmas, kuris naudoja krūvą masyvui rūšiuoti didėjančia arba mažėjančia tvarka.
- Krūvos naudojamos grafų algoritmuose, pvz Dijkstros algoritmas ir Primo algoritmas Norėdami rasti trumpiausius kelius ir mažiausiai besitęsiančius medžius.
Dvejetainė krūva „Heap“ pritaikymas, pranašumai ir trūkumai Laikas Krūvos kūrimo sudėtingumas
Fibonačio krūva
Krūvos rūšiavimas
Spausdinkite visus mazgus, mažesnius nei x reikšmė, minimalioje krūvoje.
Sujungti k surūšiuotus masyvus | 1 rinkinys
Greitos nuorodos:
java int į dvigubą
- Praktikos problemos „Heap“.
- Rekomenduojamas:
- Sužinokite duomenų struktūrą ir algoritmus | DSA mokymo programa