Tri Radix

Principe

Le tri Radix s'appuie sur la représentation binaire des éléments à trier.
  1. On sépare le tableau à trier en deux sous-tableaux
    L'un ne contient que les éléments dont le bit de poids faible vaut 0
    L'autre ne contient que les éléments dont le bit de poids faible vaut 1
  2. On met bout à bout le sous-tableau 0, puis le sous-tableau 1
  3. On répète les étapes ci-dessus pour le 2ème bit, puis le 3ème (du moins au plus significatif), jusqu'à avoir parcouru tous les bits significatifs.

Algorithme

Créer les 2 sous-tableaux
Pour chaque bit (du moins significatif vers le plus significatif) Supprimer les sous-tableaux

Exemple

Tableau à trier : [7,5,1,9,2]

On parcourt le tableau dans l'ordre croissant , et on place le chiffre correspondant dans le sous-tableau adéquat.
On reconstitue ensuite le tableau d'origine, à partir du Tableau 0, puis du tableau 1, en respectant l'ordre d'origine

Tableau
à trier
Binaire Bit 0 Bit 1
Tableau 0 Tableau 1 Tableau 0+1 Tableau 0 Tableau 1 Tableau
0+1
7 0111 001 0 011 1 0010 01 0 1 00 1 0 0101
5 0101   010 1 0111 00 0 1 01 1 1 0001
1 0001   000 1 0101 10 0 1   1001
9 1001   100 1 0001     0010
2 0010     1001     0111
Bit 2 Bit 3 Tableau
trié
Tableau
0
Tableau
1
Tableau
0+1
Tableau 0 Tableau
1
Tableau
0+1
0 0 01 0 1 01 0001 0 001 1 001 0001 1
1 0 01 0 1 11 1001 0 010   0010 2
0 0 10   0010 0 101   0101 5
    0101 0 111   0111 7
    0111     1001 9

Exemple de programme en Visual Basic

Remarques

Utilisation

Ce tri est assez performant avec les nombres entiers et les caractères ; ses performances sont relativement indépendantes de la répartition initiale des valeurs.

Son gros inconvénient est de nécessiter un doublement du tableau à trier (espace mémoire).

Retour à la table des matières des tris


Dernière mise à jour de cette page : 12/8/2007