..


Sponzorované odkazy

Třídící algoritmy v C

Článek napsal Stefano Cancedda
Strana 1 z 5

Kód je posloupnost druh operací, které přiřadí prioritu pořadí položek ve stanoveném pořadí podle zprávy. Tyto řádky budou vystaveny nejčastější (s ukázkami un'approccio vysoce orientovaný) a bude mu vyjádřil ve věci samé a vad.
Pro jednoduchost v příkladech bude vždy použita jako soubor přirozených čísel a vztah pořadí jako u většiny, jsou algoritmy stále vystavena všeobecně platné, bez krátký proces přizpůsobení kódu.

Výběr řazení

Pro objednání nastavit číslo jedna před a intuice lze skenovat tolikrát, kolikrát je dopravce plném rozsahu, s každým krokem hledání minimální hodnotu a přidejte jej do objednané pořadí, nejprve identifikoval s druhou dopravce;






 Příklad: {5,1,3,8,2}







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







 Krok č. 2 -> {1,2, X, X, X}







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







 Krok č. 4 -> {1,2,3,5, X}







 Krok 5 -> {1,2,3,5,8}



(X je označen umístění nového nosiče ještě neuvedl)

Z hlediska prostoru v paměti, tento algoritmus použity tímto způsobem je velmi nevýhodné, protože původní soubor je zkopírován do jiného. Jednoduchý trik je nahradit korekční operace kopírování s výměnou minimální hodnoty právě našli první položka, která není součástí podmnožina čísel již objednal.






 Příklad: {5,1,3,8,2}







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







 Krok č. 2 -> {1,2,3,8,5}







 Krok č. 2 -> {1,2,3,8,5}







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



Kód se mění výběrem Třídit, který navazuje na možné provedení:





 sel_sort (int * V, int velikost)







 {



   



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



   



 for (i = 0, i = j -)



   



 {

  

      



 

      



 {



         



 temp = v [j];



         



 y = j;



      



 }

  

   



 swap (v, i, y) / / měnit pozice ve vektoru v iey



   



 }







 }



Dvojitá smyčka je zasazeno myslím, že počet porovnání se tímto algoritmem je čtverec, než je počet prvků.
To znamená, že řada srovnání provedena na řádově stejný se čtvercem počtu předmětů ve sbírce.
Všimněte si, že v normálních případech je počet srovnání zvážit účinnost a ostatní činnosti, většina úkolů, mají zanedbatelný ve srovnání s náklady na srovnání.
Máte-li objednat záznamy o značné velikosti, počet výměn má rozhodující vliv na výkon. V tomto druhém případě, výběrem Třídit dokáže být vynikající řešení a optimální, protože každý element se pohybuje nejvýše jednou.

Výběr druhu je i stabilní algoritmus.
Stabilní algoritmus zachovává vliv předchozích objednávek v případě datových struktur jsou zpracovány v různých klíčů, například úplné jméno:






 1.

 



 Charles Green







 2.

 



 Andrea Rossi







 3.

 



 Mario Rossi







 4.

 



 Luciano Bianchi



Jsme, aby pole pro křestní jméno:





 1.

 



 Andrea Rossi







 2.

 



 Charles Green







 3.

 



 Mario Rossi







 4.

 



 Luciano Bianchi



Nyní jsme se, aby podle příjmení, bude více stabilní algoritmus zachovat přednost své původní, nebo, v případě rovnosti hlasů mezi klávesami, na kterém objednáváte, je pozice prvního řádu pro určení konečného umístění.





 1.

 



 Luciano Bianchi







 2.

 



 Andrea Rossi







 3.

 



 Mario Rossi







 4.

 



 Charles Green



Stabilní algoritmus zajistí, že v tomto případě vždy předchází Mario Rossi Andrea Rossi. Člověk nemusí mít stabilní chování nelze předvídat, takže by to mohlo být obrácené pozice 2 a 3.

Při výběru druhu je také na místě.
Algoritmus je řekl na místě (nebo dokonce na místě), pokud nepřijme zvláštní paměti než původní databáze, nebo se jedná o malý konstantní množství.

Ve stejné kategorii ...
E-Learning
CSS (kurz) CSS (kurz)
Web Design a přístupnosti podle W3C CSS a XHTML. Od 29 €.
HTML (kurz) HTML (kurz)
Značkovací jazyk pro web od 29 €.
Web Design (kurz) Web Design (kurz)
Web Design stránky s HTML, CSS a dynamické HTML. Od 39 €.
Sponzorované odkazy