Web - Amazon

We provide Linux to the World


We support WINRAR [What is this] - [Download .exe file(s) for Windows]

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
SITEMAP
Audiobooks by Valerio Di Stefano: Single Download - Complete Download [TAR] [WIM] [ZIP] [RAR] - Alphabetical Download  [TAR] [WIM] [ZIP] [RAR] - Download Instructions

Make a donation: IBAN: IT36M0708677020000000008016 - BIC/SWIFT:  ICRAITRRU60 - VALERIO DI STEFANO or
Privacy Policy Cookie Policy Terms and Conditions
Radix sort - Wikipedia

Radix sort

Da Wikipedia, l'enciclopedia libera.

Stub informatica
Questa voce è solo un abbozzo (stub). Se puoi, contribuisci adesso a migliorarla secondo le convenzioni di Wikipedia. Per l'elenco completo degli stub di informatica, vedi la relativa categoria.

Il Radix Sort è un algoritmo di ordinamento per valori numerici interi con complessità lineare O(n * k), dove n è la lunghezza dell'array e k è la media del numero di cifre degli n numeri e pertanto è classificabile come O(n) (ovvero complessità lineare).

L'idea base è quella di ordinare il vettore di numeri in ingresso, eseguendo confronti a partire dalle cifre meno significative (le unità), salendo via via a quelle piu' significative (decine, centinaia, migliaia, ecc.).

L'algoritmo può essere implementato in maniera ricorsiva od iterativa; l'implementazione non è, però, semplice. Se ne propone una delle possibili implementazioni iterative scritte in Java.


[modifica] Esempio di Radix Sort

Immagine:Radix.JPG


Algoritmo in Java

public class radixSort {
       public static void radixSort(int[] arr){ 
       if(arr.length == 0)
           return;
       int[][] np = new int[arr.length][2]; //matrice
       int[] q = new int[256];
       int i,j,k,l,f = 0;
       for(k=0;k<4;k++){
           for(i=0;i<(np.length-1);i++)
               np[i][1] = i+1;
           np[i][1] = -1;
           for(i=0;i<q.length;i++)
               q[i] = -1;
           for(f=i=0;i<arr.length;i++){
               j = ((255<<(k<<3))&arr[i])>>(k<<3);
               if(q[j] == -1)
                   l = q[j] = f;
               else{
                   l = q[j];
                   while(np[l][1] != -1)
                       l = np[l][1];
                   np[l][1] = f;
                   l = np[l][1];
               }
               f = np[f][1];
               np[l][0] = arr[i];
               np[l][1] = -1;
           }
           for(l=q[i=j=0];i<256;i++)
               for(l=q[i];l!=-1;l=np[l][1])
                       arr[j++] = np[l][0];
  }
 }
}}
Our "Network":

Project Gutenberg
https://gutenberg.classicistranieri.com

Encyclopaedia Britannica 1911
https://encyclopaediabritannica.classicistranieri.com

Librivox Audiobooks
https://librivox.classicistranieri.com

Linux Distributions
https://old.classicistranieri.com

Magnatune (MP3 Music)
https://magnatune.classicistranieri.com

Static Wikipedia (June 2008)
https://wikipedia.classicistranieri.com

Static Wikipedia (March 2008)
https://wikipedia2007.classicistranieri.com/mar2008/

Static Wikipedia (2007)
https://wikipedia2007.classicistranieri.com

Static Wikipedia (2006)
https://wikipedia2006.classicistranieri.com

Liber Liber
https://liberliber.classicistranieri.com

ZIM Files for Kiwix
https://zim.classicistranieri.com


Other Websites:

Bach - Goldberg Variations
https://www.goldbergvariations.org

Lazarillo de Tormes
https://www.lazarillodetormes.org

Madame Bovary
https://www.madamebovary.org

Il Fu Mattia Pascal
https://www.mattiapascal.it

The Voice in the Desert
https://www.thevoiceinthedesert.org

Confessione d'un amore fascista
https://www.amorefascista.it

Malinverno
https://www.malinverno.org

Debito formativo
https://www.debitoformativo.it

Adina Spire
https://www.adinaspire.com