Indholdsfortegnelse:
Definition - Hvad betyder Heap?
En bunke i sammenhæng med datastrukturen er en træbaseret datastruktur, der tilfredsstiller bunkeegenskaben, hvor hvert element tildeles en nøgleværdi eller vægtning. Den lavere værdi nøgle har altid en overordnet knude med en højere værdi nøgle. Dette kaldes en max-heap-struktur, og blandt alle noder har rodnoden den højeste nøgle.
Nogle gange har en træbaseret struktur en omvendt strukturregel, hvor et element med en højere værdinøgle altid har en lavere værdietast som en overordnet knude. Dette kaldes en min-heap-struktur, og blandt alle noder har rodnoden den laveste nøgle.
Techopedia forklarer Heap
Der er ingen praktiske begrænsninger for antallet af børn, hver knude kan have i en bunke, selvom hver knude normalt har to højst. Bunken betragtes som den mest effektive implementering af en abstrakt datatype, kendt som prioriteringskøen. Heapimplementering er vigtig i forskellige grafalgoritmer (herunder Dijkstra's algoritme) såvel som i heapsortsorteringsalgoritmen.
Heaps har adskillige afvigelser, der fungerer som abstrakte datatypeprioriteringskøimplementeringer med høj effektivitet. Mange applikationer, såsom grafalgoritmer, kræver implementering af prioriterede køer.
En matrix er den mest almindelige implementeringsform for heap, hvor der ikke er behov for nogen pegepunkter for at forbinde dets elementer.
Heaps udfører flere operationer, herunder:
- Find-max: Søger efter den højeste nøgleknude blandt en gruppe af noder
- Find-min: Søger efter den laveste nøgleknude blandt en gruppe af noder
- Slet-max: Sletter den højeste nøgleknude blandt en gruppe af noder
- Slet-min: sletter den laveste nøgleknude blandt en gruppe af noder
Heaps inkluderer også funktioner, der udfører sammenlægning, indsættelse og nøgleændringer.
Denne definition blev skrevet i sammenhæng med datastruktur