Turinys:
Apibrėžimas - ką reiškia „Heap“?
Krūva, atsižvelgiant į duomenų struktūrą, yra medžių pagrindu sukurta duomenų struktūra, tenkinanti krūvos savybę, kai kiekvienam elementui priskiriama rakto reikšmė arba svoris. Mažesnės vertės raktas visada turi pagrindinį mazgą su didesnės vertės raktu. Tai vadinama maks. Krūvos struktūra, o tarp visų mazgų šaknies mazgas turi aukščiausią raktą.
Kartais medžio pagrindu sukurtoje struktūroje yra atvirkštinės struktūros taisyklė, kai elementas su didesnės vertės raktu visada turi mažesnės vertės raktą kaip pirminis mazgas. Tai vadinama min krūvos struktūra, o tarp visų mazgų šaknies mazgas turi žemiausią raktą.
Techopedia paaiškina Heap
Jokių praktinių apribojimų, kiek vaikų gali turėti kiekvienas mazgas krūvoje, nėra, nors kiekvienas mazgas dažniausiai turi du. Krūva laikoma efektyviausiu abstrakčiojo duomenų tipo, žinomo kaip prioritetinė eilė, įgyvendinimu. Įvairių grafikų algoritmuose (įskaitant Dijkstros algoritmą), taip pat krūvų rūšiavimo algoritme, labai svarbu įdiegti krūvas.
Krūvos turi keletą variantų, kurie labai efektyviai veikia kaip abstraktūs duomenų tipo prioritetų eilės diegimai. Daugeliui programų, pavyzdžiui, grafikų algoritmams, reikia įgyvendinti prioritetines eiles.
Masyvas yra labiausiai paplitusi krūvos forma, kai norint susieti jo elementus nereikia rodyklių.
Krūvos atlieka keletą operacijų, įskaitant:
- „Find-max“: ieško aukščiausio rakto mazgo tarp mazgų grupės
- „Find-min“: ieško žemiausio rakto mazgo tarp mazgų grupės
- Ištrinti daugiausiai: ištrina aukščiausią raktų mazgą iš mazgų grupės
- Trinti min: ištrina mažiausią rakto mazgą iš mazgų grupės
Į krūvas taip pat įeina funkcijos, kurios atlieka sujungimą, įterpimą ir pagrindinių pakeitimų vykdymą.
Šis apibrėžimas buvo parašytas atsižvelgiant į duomenų struktūrą