Sådan implementeres Radix Sort-programmet bedst i C?



Denne artikel introducerer dig til Radix Sort Program In C og følger det op med en programmatisk demonstration for bedre forståelse.

Denne artikel vil introducere dig Radix Sort og fortælle dig, hvordan du implementerer Radix Sort i C. Følgende punkter vil blive dækket i denne artikel,

Så lad os komme i gang dengang,





Fibonacci nummer c ++

Med enkle ord betyder sortering at arrangere de givne elementer i en systematisk rækkefølge. Sortering udføres i de fleste af algoritmerne, fordi det gør søgning lettere, hvilket til sidst gør algoritmen effektiv. I denne blog vil vi forstå en af ​​de almindeligt anvendte soringalgoritmer, dvs. Radix-sortering.

Radix-sortering er en ikke-komparativ heltalssorteringsalgoritme. Det sorterer cifret for cifret startende fra det mindst signifikante ciffer (dvs. cifret til stede til højre) til det mest betydningsfulde ciffer (dvs. cifret til stede til venstre). Radix-sortering bruger tællesortering som en underrutine til at sortere.
Den nedre grænse for sammenligningsbaseret sorteringsalgoritme (såsom Heap sort, Quick Sort, Merge Sort) er & Omega (nLogn), og de kan ikke forbedres ud over nLogn. Hvis vi taler om tællesortering, er det en lineær tidssorteringsalgoritme med O (n + k) tidskompleksitet, hvor intervallet ligger mellem 1 og k. Nu er problemet med tællesorter, at det tager O (n2), når elementerne spænder fra 1 til n2.



Så for at sortere en matrix med elementer, der spænder fra 1 til n2 i lineær tid, har vi brug for radiksortering. Radix sorterer sortering af array cifret for ciffer startende fra mindst signifikant ciffer til mest signifikant ciffer. Radix-sortering bruger tællesortering som en underrutine til at sortere.

Gå videre med denne artikel om Radix Sort Program In C,

Radix sorteringsalgoritme

Udfør følgende trin for alle cifre startende fra det mindst betydende ciffer til stede i højre, og bevæg dig mod det mest betydningsfulde ciffer til stede i venstre.



Sorter elementerne ved hjælp af tællesorter efter det aktuelle ciffer.
Eksempel:

Original Array:
140, 65, 85, 110, 612, 54, 12, 86

Sortering af det mindst betydende ciffer, dvs. på ens sted, giver

java dyb kopi versus lav kopi

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

BEMÆRK: Da 612 vises før 12, og sorteringen kun udføres efter ens ciffer, vises 612 således før 12 efter denne iteration.

Sortering efter næste ciffer, dvs. på 10'ers plads, giver:

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

Sortering efter mest betydningsfulde ciffer, dvs. til stede på 100-tallet, giver:

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

Gå videre med denne artikel om Radix Sort Program In C,

Radix sorteringsprogram i C

Første kig på Radix sorteringsfunktion

hvad bruges fjederrammen til

Radix sorteringsfunktion:

ugyldig radixsort (int array [], int n) {// Få det største antal til at kende det maksimale antal cifre int m = getMax (array, n) int dig // Tællesortering udføres for hvert ciffer for (dig = 1 m / dig> 0 dig * = 10) countSort (array, n, dig)}

Gå videre med denne artikel om Radix Sort Program In C,

Antal sorteringsfunktioner:

void countSort (int array [], int n, int dig) {int output [n] int i, count [10] = {0} // Gem antallet af forekomster i count [] for (i = 0 i= 0 i--) {output [count [(array [i] / dig)% 10] - 1] = array [i] count [(array [i] / dig)% 10] -} // Kopier output array til arr [], så arr [] nu // indeholder sorterede tal efter det aktuelle ciffer for (i = 0 i

Lad os fortsætte med at skrive et C-program til implementering af Radix-sortering.

Eksempel:

#include // Funktion til at finde det største nummer int getMax (int array [], int n) {int max = array [0] int i for (i = 1 i max) max = array [i] return max} // Funktion til Count sortering ugyldig countSort (int array [], int n, int dig) {int output [n] int i, count [10] = {0} // Gem antallet af forekomster i count [] for (i = 0 jeg= 0 i--) {output [count [(array [i] / dig)% 10] - 1] = array [i] count [(array [i] / dig)% 10] -} // Kopier output array til arr [], så arr [] nu // indeholder sorterede tal i henhold til det aktuelle ciffer for (i = 0 i 0 dig * = 10) countSort (array, n, dig)} // Funktion til udskrivning Array ugyldig udskriv (int arr [], int n) {int i for (i = 0 i

Produktion

Output- Radix sorteringsprogram i C-Edureka

Efter at have udført ovennævnte program ville du have forstået Radix Sort-programmet i C. Således er vi nået til slutningen af ​​denne artikel om 'Quicksort i Java'. Hvis du ønsker at lære mere, skal du tjekke , et betroet online læringsfirma. Edurekas Java J2EE- og SOA-uddannelses- og certificeringskursus er designet til at træne dig til både kerne- og avancerede Java-koncepter sammen med forskellige Java-rammer som Hibernate & Spring.

Har du et spørgsmål til os? Nævn det i kommentarsektionen på denne blog, og vi vender tilbage til dig hurtigst muligt.