PočítačeProgramování

Quicksort jako způsobu programování

V roce 1960, K. A. Jinovatka vyvinuli metodu pro rychlé třídění informací, se stal nejslavnější. Dnes to je široce používán v programování, protože má mnoho pozitivních vlastností: lze jej použít pro obecné případy, vyžaduje malý nárůst v další paměti, kompatibilní s různými typy seznamů a snadno implementovat. Ale to má své nevýhody, které má Quicksort: pomocí práce povoleny spoustu chyb, a to je poněkud nestabilní.

Nicméně, to je nejvíce studoval verze. Po prvním platebním Hoare, mnoho dělat svou hustou studia. velká základna byla založena na teoretické otázky najít čas strávený v práci, která se opírá o empirické důkazy. Tam byly skutečné návrhy na zlepšení základní algoritmus a zvýšení rychlosti.

Quicksort je velmi časté, že lze nalézt všude. Na jeho základě je realizován způsob TList.Sort, přítomný ve všech verzích (s výjimkou 1) Delphi, knihovny funkcí času, který trvala, qsort v jazyce C ++.

Základním principem činnosti lze formulovat jako „rozděl a panuj“. To nastane lámání seznam do dvou skupin, a jsou řazeny pro každou část sama o sobě. Z toho vyplývá, že větší pozornost by měla být věnována separačního procesu, při kterém dochází k následujícímu: je určena základního prvku a má relativně přeskupeny celý svůj seznam. Postavený na levé straně skupiny kandidátů, jehož hodnota je nižší než všechny ostatní pravidla převodu. Ukazuje se, že hlavním prvkem v tříděném seznamu je ve své právoplatné místo. V další fázi - výzva rekurzivní funkce třídění pro obě strany prvků vzhledem k základně. To končí proces funguje pouze v případě, že seznam obsahuje pouze jeden prvek, který se má třídit. Proto, aby se naučit programovací funkci jako rychlý druhu, je nutné znát práci algoritmů na nižší úrovni: a) volba základního prvku; b) seznam nejúčinnější permutace vzniku dvou skupin s menšími a většími hodnotami.

Seznamte se prvních principů. Při výběru základního prvku, by v ideálním případě být vybrán ze seznamu průměr. Pak se na přelomu je rozdělen na dvě stejné poloviny. Jen vypočítat průměrnou hodnotu v seznamu je velmi obtížné, takže i nejrychlejší třídění obchází tento kalkul stranu. Ale volba základního prvku s maximální nebo minimální hodnota - také není tou nejlepší volbou. V případě, že takové určení jednoho vytváří bude zaručena prázdné seznamy a druhý plný. Z toho vyplývá závěr, že jako základní prvek by měl být zvolen ten, který je blíže k průměru, ale na maximum a minimum.

Jakmile je volba určena, můžete přistoupit k algoritmu rozkladu. Tato tzv vnitřním smyček quicksort. Vše je postaveno na dvou rychlý přístup indexy: nejprve projít prvky zleva doprava, druhý naopak, zprava doleva. Začíná provádění operace právo: index je na seznamu a porovnat všechny hodnoty do hlavní. Cyklus je dokončena, když je prvek je menší než nebo rovna účaří. To znamená, že tam je srovnání a snižuje hodnotu indexu. Na levé straně práce je dokončena, když je hodnota větší než nebo rovno. Zde se zvyšuje porovnání hodnot.

V tomto stadiu dělení algoritmus, který zahrnuje quicksort, mohou nastat dvě situace. Prvním z nich je, že index nalevo je menší než pravá. To indikuje chybu, pak tam jsou prvky, na kterém to bylo uvedené v seznamu jsou ve špatném pořadí. Výstup - změnit svá místa. Druhý případ je, když oba sloupce je rovna nebo zkřížené. To naznačuje úspěšné oddělení seznamu, to znamená, že práce je nyní dokončena.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 cs.atomiyme.com. Theme powered by WordPress.