Ordinare un array (2)
Data di pubblicazione: 03/02/2003
Voto della community: 4,17
(Votanti: 4)
Nell'articolo precendente
abbiamo visto come ordinare un array ma, se ricordate bene, abbiamo posto un limite teorico
di 30 elementi da ordinare, determinato dal fatto che il metodo non è molto efficente
se applicato ad array di dimensioni maggiori.
Vedremo ora un altro metodo di ordinamento che funziona in maniera ottimale anche su array di grande dimensione. L'algoritmo che utilizzeremo si chiama Heap Sort; idealmente l'array viene visto come un albero binario dove la radice è il primo elemento e ogni nodo x ha come nodi figli i nodi di indice 2x e 2x+1.Nel primo ciclo l'algoritmo sistema l'albero in modo che ogni nodo sia di valore minore o uguale al nodo padre (quello di indice x modulo 2) così da avere alla fine l'elemento maggiore al primo posto dell'array. Questo elemento viene sostituito con l'ultimo dell'array e il procedimento si ripete con un array di dimensione diminuita di 1. Ecco il codice in VBscript: <%@ LANGUAGE = VBscript %> Ecco la versione in Jscript:
<%@ LANGUAGE =
JScript %>
|
||||||||||||||||||||||||