Skip to content
heapsort

File:Sorting_heapsort_anim.gif · Wikimedia Commons · See Wikimedia Commons

EntityQ474095· pop 39· linked from 98 articles

algoritmo di ordinamento per heap

Key facts

Algorithm.caption
A run of heapsort sorting an array of randomly permuted values. In the first stage of the algorithm the array elements are reordered to satisfy the heap property. Before the actual sorting takes place, the heap tree structure is shown briefly for illustration.
Algorithm.data
Array
Algorithm.time
O(n\log n)
Algorithm.average time
O(n\log n)
Algorithm.best time
O(n\log n) (distinct keys)or O(n) (equal keys)
Algorithm.space
O(n) total O(1) auxiliary
Algorithm.class
Sorting algorithm
Algorithm.image
File:Sorting heapsort anim.gif

via Wikipedia infobox

Wikidata facts

Instance of
comparison sort
Image
Binary heap bottomup vs topdown.svg
Show 5 more facts
maintained by WikiProject
WikiProject Mathematics
derivative work
smoothsort
time of discovery or invention
1964-00-00
Commons category
Heap sort
Sources (2)

via Wikidata · CC0

Article · Italiano

L'heapsort è un algoritmo di ordinamento iterativo ed in-place proposto da Williams nel 1964, che si basa su strutture dati ausiliarie. L'heapsort, per eseguire l'ordinamento, utilizza una struttura chiamata heap; un heap è rappresentabile con un albero binario in cui tutti i nodi seguono una data proprietà, detta priorità. Esso è completo almeno fino al penultimo livello dell'albero (con le foglie sull'ultimo livello compattate a sinistra) e ad ogni nodo corrisponde uno ed un solo elemento. In uno heap decrescente (utilizzato per ordinare ad esempio un array in senso crescente) ogni nodo padre contiene un valore maggiore o uguale a quello dei suoi due figli diretti, di conseguenza risulterà maggiore anche di tutti i nodi che si trovano nel sottoalbero di cui esso è la radice; questo non implica affatto che nodi a profondità maggiore contengano valori minori di quelli a profondità minore. Quindi in ogni istante, in un heap decrescente, la radice contiene il valore maggiore. Questa struttura è molto usata, in particolare, per l'ordinamento di array. Per comprendere meglio il funzionamento dell'algoritmo è bene capire che gli elementi che si trovano nella seconda metà dell'array rappresenteranno foglie dello heap e quindi esse saranno già al loro posto giusto; non vi è infatti alcun elemento dopo di esse.

Abstract from DBpedia / Wikipedia · CC BY-SA

Gallery (9)