Heap

Un heap è una struttura dati composta da "nodi" che contengono valori. Un heap tipico ha un nodo radice in cima, che può avere due o più nodi figli direttamente sotto di esso. Ogni nodo può avere due o più nodi figli, il che significa che l'heap diventa più largo con ogni nodo figlio. Quando viene rappresentato visivamente, un heap assomiglia a un albero capovolto e la sua forma generale ricorda un mucchio.

Sebbene ogni nodo di un heap possa avere due o più nodi figli (chiamati anche "figli"), la maggior parte degli heap limita ogni nodo a due figli. Questi tipi di heap sono chiamati anche heap binari e possono essere usati per memorizzare dati ordinati. Per esempio, un "max heap binario" memorizza il valore più alto nel nodo radice. Il secondo e il terzo valore più alto sono memorizzati nei nodi figli della radice. In tutto l'albero, ogni nodo ha un valore maggiore di quello di entrambi i nodi figli. Un "min heap binario" è l'opposto: il nodo radice memorizza il valore più basso e ogni nodo ha un valore inferiore a quello dei suoi figli.

In informatica, gli heap vengono spesso rappresentati con semplici diagrammi. Tuttavia, memorizzare effettivamente i dati in un heap è più complesso. Per creare un heap, i programmatori devono scrivere singoli algoritmi per inserire ed eliminare i dati. I valori inseriti in un heap vengono generalmente memorizzati in un array, a cui può fare riferimento un programma. Poiché i dati in un heap sono già ordinati, questa struttura offre un metodo efficiente per cercare valori specifici.

NOTE: "Heap" è anche un termine di programmazione che può essere usato per descrivere la memoria allocata dinamicamente. Questo blocco di memoria può essere usato dalle applicazioni attive. Poiché la memoria nell'heap viene allocata dinamicamente, può aumentare o diminuire a seconda della quantità di memoria utilizzata.

Aggiornato August 2, 2012 da Per C.

quizMetti alla prova le tue conoscenze

A block of four bits is also called what?

A
A brick
0%
B
A block
0%
C
A nybble
0%
D
A cookie
0%
Correct! Incorrect!     View the Nybble definition.
More Quizzes →

Il dizionario informatico Tech Terms

La definizione di Heap in questa pagina è una definizione originale scritta dagli autori di TechTerms.com. Se desideri fare riferimento a questa pagina o citare questa definizione, utilizza la barra di citazione verde direttamente sotto la definizione.

Il nostro obiettivo è spiegare la terminologia informatica in modo semplice e comprensibile. Ci impegniamo per l'accuratezza e la semplicità in ogni definizione pubblicata. Se hai commenti o vuoi suggerire un nuovo termine tecnico, contattaci.

La newsletter di Tech Terms

Migliora le tue conoscenze tecniche con la nostra newsletter giornaliera o settimanale! Iscriviti oggi e ricevi nuovi termini e quiz nella tua casella di posta.

Iscriviti alla newsletter gratuita di TechTerms

Con quale frequenza desideri ricevere un'e-mail?

Puoi annullare l'iscrizione o modificare la frequenza in qualsiasi momento tramite i link presenti in ogni e-mail. Domande? Contattaci.

Nota: La newsletter viene inviata in inglese.