Kako najbolje izvesti program razvrščanja Radix v C?



Ta članek vam bo predstavil program za razvrščanje Radix v C in nadaljeval s programskim prikazom za boljše razumevanje.

Ta članek vam bo predstavil Radix Sort in vam povedal, kako implementirati Radix Sort v C. V tem članku bodo zajeti naslednji napotki:

Začnimo torej,





Z enostavnimi besedami sortiranje pomeni urejanje danih elementov v sistematičnem vrstnem redu. Razvrščanje poteka v večini algoritmov, ker olajša iskanje, kar sčasoma naredi algoritem učinkovit. V tem blogu bomo razumeli enega najpogosteje uporabljenih algoritmov za razvrščanje, tj. Radix sort.

Radix sort je neprimerljiv algoritem za razvrščanje po celih številih. Razvršča številke po številkah, začenši z najmanj pomembno številko (tj. Številko na desni strani) do najpomembnejše številke (tj. Številko na levi strani). Radix sort uporablja sortiranje štetja kot podprogram za razvrščanje.
Spodnja meja algoritma za razvrščanje na podlagi primerjave (kot so Heap sort, Quick Sort, Merge Sort) je & Omega (nLogn), zato je ni mogoče izboljšati dlje kot nLogn. Če govorimo o štetju, gre za algoritem linearnega časovnega razvrščanja s časovno zapletenostjo O (n + k), kjer je obseg med 1 in k. Zdaj je težava pri štetju razvrščanja v tem, da traja O (n2), ko se elementi gibljejo od 1 do n2.



Za razvrščanje matrike z elementi, ki se gibljejo od 1 do n2 v linearnem času, potrebujemo radix razvrščanje. Radix sort razvrsti matrično številko po številki, začenši od najmanj pomembne do najpomembnejše številke. Radix sort uporablja sortiranje štetja kot podprogram za razvrščanje.

mimo reference v javi

Nadaljujemo s tem člankom o programu Radix Sort Program In C,

Radixov algoritem za razvrščanje

Izvedite naslednje korake za vse številke, začenši z najmanj pomembno številko, ki je prisotna v desni, in se pomaknite proti najpomembnejši številki, prisotni v levi.



Razvrstite elemente s štetjem po trenutni številki.
Primer:

Prvotna matrika:
140, 65, 85, 110, 612, 54, 12, 86

kakšna je razlika med javo in c ++

Razvrščanje najmanj pomembne številke, tj. Na enem mestu, daje

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

OPOMBA: Ker se 612 pojavi pred 12 in se sortiranje izvede samo za eno številko, se torej 612 pojavi pred 12 po tej ponovitvi.

Razvrščanje po naslednji številki, tj. Na mestu 10s, daje:

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

Razvrščanje po najpomembnejši številki, tj. Prisotni na mestu 100-ih, daje:

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

Nadaljujemo s tem člankom o programu Radix Sort Program In C,

Program razvrščanja Radix v C

Najprej si oglejte funkcijo razvrščanja Radix

Funkcija razvrščanja Radix:

void radixsort (int array [], int n) {// Pridobite največje število, če želite vedeti največje število števk int m = getMax (array, n) int dig // Razvrščanje štetja se izvede za vsako številko za (dig = 1 m / dig> 0 dig * = 10) countSort (array, n, dig)}

Nadaljujemo s tem člankom o programu Radix Sort Program In C,

Funkcija razvrščanja štetja:

void countSort (int array [], int n, int dig) {int output [n] int i, count [10] = {0} // Shrani število pojavitev v count [] for (i = 0 i= 0 i--) {output [count [(array [i] / dig)% 10] - 1] = matrika [i] count [(array [i] / dig)% 10] -} // Kopiraj izpiši polje v arr [], tako da arr [] zdaj // vsebuje razvrščene številke glede na trenutno številko za (i = 0 i

Napredujmo, napišimo program C za izvedbo sortiranja Radix.

Primer:

#include // Funkcija iskanja največjega števila int getMax (int array [], int n) {int max = array [0] int i for (i = 1 i max) max = array [i] return max} // Funkcija za Count sort void countSort (int array [], int n, int dig) {int output [n] int i, count [10] = {0} // Shrani število pojavitev v count [] for (i = 0 jaz= 0 i--) {output [count [(array [i] / dig)% 10] - 1] = matrika [i] count [(array [i] / dig)% 10] -} // Kopiraj izpiši matriko v arr [], tako da arr [] zdaj // vsebuje razvrščene številke glede na trenutno številko za (i = 0 i 0 dig * = 10) countSort (array, n, dig)} // Funkcija za tiskanje polja void print (int arr [], int n) {int i for (i = 0 i

Izhod

kaj so dogodki v javascriptu

Izhod- Program razvrščanja Radix v C- Edureka

Zdaj po izvedbi zgornjega programa bi razumeli program razvrščanja Radix v C. Tako smo prišli do konca tega članka o 'Quicksort v Javi'. Če želite izvedeti več, si oglejte , zaupanja vredno podjetje za spletno učenje. Edurekin tečaj za usposabljanje in certificiranje Java J2EE in SOA je zasnovan tako, da vas usposobi za temeljne in napredne koncepte Java, skupaj z različnimi Java okviri, kot sta Hibernate & Spring.

Imate vprašanje za nas? Prosimo, omenite to v oddelku za komentarje tega spletnega dnevnika, mi pa se vam bomo javili v najkrajšem možnem času.