..


Sponzorirani linkovi

Sortiranje Algoritmi u C

Članak je napisao Stefano Cancedda
Stranica 1 od 5

Šifra je niz vrsta operacija koje dodjeljuje prioritet poretka stavki u skupu bi, prema izvješću. Te linije bit će izloženi od najčešćih (vrlo orijentirana s un'approccio uzoraka) i svaki će se osvrnuo i na zasluge i nedostatke.
Za jednostavnost u primjerima uvijek će se koristiti kao skup prirodnih brojeva i odnos reda kao da je većina, algoritmi i dalje su izloženi univerzalno važeći, neto od kratkog rada prilagodbe koda.

Odabir vrsta

Da bi postavili broj jedan prije i intuicije možete skenirati kao i mnogo puta kao nositelj cijelosti, sa svakom koraku tražiti minimalnu vrijednost i dodati ga naredio slijed, u početku identificirani sa drugi prijevoznika;






 Primjer: {5,1,3,8,2}







 Korak # 1 -> {1, X, X, X, X}







 Korak # 2 -> {1,2, X, X, X}







 Korak # 3 -> {1,2,3, X, X}







 Korak # 4 -> {1,2,3,5, X}







 Korak # 5 -> {1,2,3,5,8}



(X je označeno mjesto novog prijevoznika još nije napisao)

S točke gledišta prostora u memoriji, ovaj algoritam primijeniti na ovaj način vrlo je nepovoljna jer početni set se kopira na drugi. Jednostavan trik je da zamijenite korektivne kopiranje s razmjenom minimalne vrijednosti upravo pronašao prvu stavku koju nije dio podskup brojeva već naručio.






 Primjer: {5,1,3,8,2}







 Korak # 1 -> {1,5,3,8,2}







 Korak # 2 -> {1,2,3,8,5}







 Korak # 2 -> {1,2,3,8,5}







 Korak # 3 -> {1,2,3,5,8}



Šifra mijenja se i odabir Sortiraj koji slijedi moguće provedbe:





 sel_sort (int * v, int size)







 {



   



 int i = 0, temp = 0, y = 0, j = 0;



   



 za (i = 0, i = j -)



   



 {

  

      



 

      



 {



         



 temp = v [j];



         



 y = j;



      



 }

  

   



 Swap (V, I, y) / / Zamijeni pozicije u vektor v iey



   



 }







 }



Double loop je nestled pretpostavljam da broj usporedbe koje je napravio ovaj algoritam je trg od broja elemenata.
To znači da se broj usporedbe su napravljene na red veličine jednaka kvadratu broja stavki u zbirci.
Imajte na umu da u normalnim slučajevima je broj usporedbe vagati učinkovitosti i ostale operacije, većina zadataka, imaju zanemariv trošak u odnosu na usporedbu.
Kada ste na red evidenciju znatne veličine, broj razmjene ima odlučujući utjecaj na performanse. U ovom drugom slučaju, odabir Sortiraj dokazuje da se izvrsno rješenje i optimalne jer je svaki element je preselio na najviše jednom.

Odabir vrste je također stabilan algoritam.
Stabilan algoritam čuva učinak prethodne narudžbe u slučaju strukture podataka se tretiraju u više tipke, kao što su Puno ime:






 1.

 



 Charles Green







 2.

 



 Andrea Rossi







 3.

 



 Mario Rossi







 4.

 



 Luciano Bianchi



Mi bi polja za ime:





 1.

 



 Andrea Rossi







 2.

 



 Charles Green







 3.

 



 Mario Rossi







 4.

 



 Luciano Bianchi



Sada smo kako po prezimenu, stabilniji algoritam će sačuvati prednost pocetne, ili, u slučaju neriješenog rezultata između tipki na koje ste naručivanje je položaj prvog reda kako bi se utvrdilo konačni položaj.





 1.

 



 Luciano Bianchi







 2.

 



 Andrea Rossi







 3.

 



 Mario Rossi







 4.

 



 Charles Green



Stabilan algoritam će osigurati da se u tom slučaju uvijek prethodi Mario Rossi Andrea Rossi. Čovjek ne mora stabilno ponašanje nije predvidljiva, tako da bi to moglo biti obrnuto pozicije 2 i 3.

Izbor vrsta se također na licu mjesta.
Algoritam je rekao na licu mjesta (ili čak na mjestu) ako ne uzima dodatni memorijski prostor od izvorne baze podataka, ili je mala stalno iznos.

U istoj kategoriji ...
E-učenje
Flash MX (Napredno) Flash MX (Napredno)
Postanite dizajner web-stranica iz 29 €.
Naslovnica (Ebook) Naslovnica (Ebook)
Stvaranje web-stranica bez znajući HTML. Samo 25 €.
VB.NET (tečaj) VB.NET (tečaj)
Napravite računalne aplikacije s Visual Basic .. Od 49 €.
Sponzorirani linkovi