Comment mettre en œuvre au mieux le programme de tri Radix en C?



Cet article vous présentera Radix Sort Program In C et suivra une démonstration programmatique pour une meilleure compréhension.

Cet article vous présentera Radix Sort et vous expliquera comment implémenter Radix Sort en C. Les pointeurs suivants seront traités dans cet article,

Alors commençons alors,





En termes simples, trier signifie organiser les éléments donnés dans un ordre systématique. Le tri est effectué dans la plupart des algorithmes car il facilite la recherche, ce qui rend finalement l'algorithme efficace. Dans ce blog, nous allons comprendre l'un des algorithmes de soring couramment utilisés, à savoir le tri Radix.

Le tri Radix est un algorithme de tri d'entiers non comparatif. Il effectue un tri chiffre par chiffre en commençant par le chiffre le moins significatif (c'est-à-dire le chiffre présent à droite) jusqu'au chiffre le plus significatif (c'est-à-dire le chiffre présent à gauche). Le tri Radix utilise le tri par comptage comme sous-programme de tri.
La limite inférieure de l'algorithme de tri basé sur la comparaison (tel que le tri en tas, le tri rapide, le tri par fusion) est & Omega (nLogn), et il ne peut pas être amélioré au-delà de nLogn. Si nous parlons de tri par comptage, il s'agit d'un algorithme de tri temporel linéaire avec une complexité temporelle O (n + k), où la plage se situe entre 1 et k. Maintenant, le problème avec le tri de comptage est qu'il prend O (n2) lorsque les éléments vont de 1 à n2.



Donc, pour trier un tableau avec des éléments allant de 1 à n2 en temps linéaire, nous avons besoin d'un tri par base. Le tri Radix trie le tableau chiffre par chiffre en commençant par le chiffre le moins significatif jusqu'au chiffre le plus significatif. Le tri Radix utilise le tri par comptage comme sous-programme de tri.

Passant à cet article sur Radix Sort Program In C,

Algorithme de tri Radix

Effectuez les étapes suivantes pour tous les chiffres en commençant par le chiffre le moins significatif présent à droite, en vous déplaçant vers le chiffre le plus significatif présent à gauche.



Triez les éléments en utilisant le tri par comptage en fonction du chiffre actuel.
Exemple:

Tableau d'origine:
140, 65, 85, 110, 612, 54, 12, 86

Trier le chiffre le moins significatif, c'est-à-dire à sa place, donne

140, 110, 612, 12, 54, 65, 85, 86

REMARQUE: comme 612 apparaît avant 12, et le tri est effectué uniquement pour un chiffre, donc 612 apparaît avant 12 après cette itération.

Le tri par chiffre suivant, c'est-à-dire à 10 secondes, donne:

110, 612, 12, 140, 54, 65, 85, 86

Le tri par chiffre le plus significatif, c'est-à-dire présent à la place des 100, donne:

012, 054, 065, 085, 086, 110, 140, 612

Passant à cet article sur Radix Sort Program In C,

Programme de tri Radix en C

Premier aperçu de la fonction de tri de Radix

Fonction de tri de Radix:

void radixsort (int array [], int n) {// Obtenir le plus grand nombre pour connaître le nombre maximum de chiffres int m = getMax (array, n) int dig // Le tri par comptage est effectué pour chaque chiffre de (dig = 1 m / dig> 0 dig * = 10) countSort (tableau, n, dig)}

Passant à cet article sur Radix Sort Program In C,

Fonction de tri par comptage:

void countSort (int array [], int n, int dig) {int output [n] int i, count [10] = {0} // Stocke le nombre d'occurrences dans count [] for (i = 0 i= 0 i--) {output [count [(array [i] / dig)% 10] - 1] = array [i] count [(array [i] / dig)% 10] -} // Copie le tableau de sortie vers arr [], de sorte que arr [] now // contient des nombres triés en fonction du chiffre courant pour (i = 0 i

Pour avancer, écrivons un programme C pour implémenter le tri Radix.

java comment quitter le programme

Exemple:

#include // Fonction pour trouver le plus grand nombre int getMax (int array [], int n) {int max = array [0] int i for (i = 1 i max) max = array [i] return max} // Fonction pour Count sort void countSort (int array [], int n, int dig) {int output [n] int i, count [10] = {0} // Stocke le nombre d'occurrences dans count [] for (i = 0 je= 0 i--) {output [count [(array [i] / dig)% 10] - 1] = array [i] count [(array [i] / dig)% 10] -} // Copie le tableau de sortie vers arr [], de sorte que arr [] now // contient des nombres triés selon le chiffre courant pour (i = 0 i 0 dig * = 10) countSort (array, n, dig)} // Fonction à imprimer le tableau void print (int arr [], int n) {int i pour (i = 0 i

Production

Sortie - Programme de tri Radix dans C- Edureka

Maintenant, après avoir exécuté le programme ci-dessus, vous auriez compris le programme de tri Radix en C. Ainsi nous sommes arrivés à la fin de cet article sur «Quicksort en Java». Si vous souhaitez en savoir plus, consultez le , une entreprise d'apprentissage en ligne de confiance. Le cours de formation et de certification Java J2EE et SOA d'Edureka est conçu pour vous former aux concepts Java de base et avancés ainsi qu'à divers frameworks Java tels que Hibernate et Spring.

Vous avez une question pour nous? Veuillez le mentionner dans la section commentaires de ce blog et nous vous répondrons dans les plus brefs délais.