Kā vislabāk īstenot Radix kārtošanas programmu C?



Šis raksts jūs iepazīstinās ar Radix Sort programmu C un sekos tam pēc programmatiskas demonstrācijas labākai izpratnei.

Šis raksts iepazīstinās jūs ar Radix Sort un norādīs, kā ieviest Radix Sort C. Šajā rakstā tiks aplūkoti šādi norādījumi,

Tad ļaujiet mums sākt darbu,





Vienkārši sakot, šķirošana nozīmē doto elementu sakārtošanu sistemātiskā secībā. Kārtošana tiek veikta lielākajā daļā algoritmu, jo tas atvieglo meklēšanu, kas galu galā padara algoritmu efektīvu. Šajā emuārā mēs sapratīsim vienu no visbiežāk izmantotajiem sorēšanas algoritmiem, t.i., Radix sort.

Radix sort ir nesalīdzināms veselu skaitļu šķirošanas algoritms. Tas šķiro ciparus pēc ciparu šķirošanas, sākot no vismazāk nozīmīgā cipara (t.i., labajā pusē esošā cipara) līdz nozīmīgākajam ciparam (t.i., ciparam, kas atrodas kreisajā pusē). Radix kārtošana kārtošanai izmanto skaitīšanas kārtību kā apakšprogrammu.
Šķirošanas algoritma, kas balstīts uz salīdzināšanu, (piemēram, kaudzes kārtošana, ātrā kārtošana, apvienošanas kārtošana) apakšējā robeža ir & Omega (nLogn), un tos nevar uzlabot, pārsniedzot nLogn. Ja mēs runājam par skaitīšanas šķirošanu, tas ir lineārs laika šķirošanas algoritms ar O (n + k) laika sarežģītību, kur diapazons ir no 1 līdz k. Tagad kārtošanas skaitīšanas problēma ir tā, ka elementiem jābūt diapazonā no 1 līdz n2, ja tas aizņem O (n2).



Tātad, lai kārtotu masīvu ar elementiem, kas lineārajā laikā svārstās no 1 līdz n2, mums ir nepieciešams radix kārtojums. Radix sort sakārto masīva ciparu pēc cipara, sākot no vismazāk nozīmīgā cipara līdz nozīmīgākajam ciparam. Radix kārtošana kārtošanai izmanto skaitīšanas kārtību kā apakšprogrammu.

Turpinot šo rakstu par Radix Sort programmu C,

Radix šķirošanas algoritms

Veiciet šādas darbības visiem cipariem, sākot no mazāk nozīmīgā cipara, kas atrodas labajā pusē, virzoties uz nozīmīgāko ciparu, kas atrodas pa kreisi.



Kārtojiet elementus, izmantojot skaitīšanas kārtojumu, atbilstoši pašreizējam ciparam.
Piemērs:

datu tips datumam kvl

Sākotnējais masīvs:
140, 65, 85, 110, 612, 54, 12, 86

Kārtojot mazāk nozīmīgo ciparu, t.i., pie vienas vietas, dod

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

PIEZĪME. Tā kā 612 parādās pirms 12 un šķirošana tiek veikta tikai ar vienu ciparu, 612 pēc šīs iterācijas parādās pirms 12.

Kārtojot pēc nākamā cipara, t.i., 10. vietā, iegūst:

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

Kārtojot pēc nozīmīgākā cipara, t.i., 100. vietā, iegūst:

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

kā instalēt hadoop Linux

Turpinot šo rakstu par Radix Sort programmu C,

Radix kārtošanas programma C

Vispirms apskatiet Radix šķirošanas funkciju

kā atrast palindromu java

Radix Sort funkcija:

void radixsort (int masīvs [], int n) {// Iegūstiet lielāko skaitu, lai uzzinātu maksimālo ciparu skaitu int m = getMax (masīvs, n) int dig // Skaitīšanas kārtojums tiek veikts katram ciparam (dig = 1) m / dig> 0 dig * = 10) countSort (masīvs, n, dig)}

Turpinot šo rakstu par Radix Sort programmu C,

Sortēšanas funkcija:

void countSort (int masīvs [], int n, int dig) {int izvade [n] int i, skaits [10] = {0} // Saglabāt notikumu skaitu uzskaitē [] par (i = 0 i= 0 i--) {output [skaits [(masīvs [i] / dig)% 10] - 1] = masīvs [i] skaits [(masīvs [i] / dig)% 10] -} // Kopēt izvades masīvs uz arr [], lai arr [] tagad // satur sakārtotus skaitļus atbilstoši pašreizējam ciparam (i = 0 i

Virzoties uz priekšu, uzrakstīsim C programmu, lai ieviestu Radix šķirošanu.

Piemērs:

#include // Funkcija, lai atrastu lielāko skaitli int getMax (int masīvs [], int n) {int max = masīvs [0] int i (i = 1 i max) max = masīvs [i] return max} // Funkcija Count sort void countSort (int masīvs [], int n, int dig) {int izvade [n] int i, skaits [10] = {0} // Saglabāt notikumu skaitu count [] par (i = 0 i= 0 i--) {output [skaits [(masīvs [i] / dig)% 10] - 1] = masīvs [i] skaits [(masīvs [i] / dig)% 10] -} // Kopēt izvades masīvs uz arr [], lai arr [] tagad // satur sakārtotus skaitļus atbilstoši pašreizējam ciparam (i = 0 i 0 dig * = 10) countSort (masīvs, n, dig)} // Funkcija, lai izdrukātu masīvu drukāt (int arr [], int n) {int i par (i = 0 i

Rezultāts

Output- Radix Sort programma C- Edureka

Pēc iepriekš minētās programmas izpildes jūs būtu sapratuši Radix Sort programmu C. Tādējādi mēs esam nonākuši šī raksta par ‘Quicksort in Java’ beigām. Ja vēlaties uzzināt vairāk, iepazīstieties ar , uzticams tiešsaistes mācību uzņēmums. Edureka Java J2EE un SOA apmācības un sertifikācijas kurss ir paredzēts, lai apmācītu jūs gan galvenajiem, gan uzlabotajiem Java jēdzieniem kopā ar dažādiem Java ietvariem, piemēram, Hibernate & Spring.

Vai mums ir jautājums? Lūdzu, pieminējiet to šī emuāra komentāru sadaļā, un mēs sazināsimies ar jums pēc iespējas ātrāk.