Kompjuters, Ipprogrammar
Quicksort bħala metodu ta 'programmar
Fl-1960, K. A. Hoar żviluppat metodu għall-għażla rapidu ta 'informazzjoni, sar l-aktar famużi. Illum huwa użat ħafna fl-ipprogrammar, kif għamlet ħafna ta 'proprjetajiet pożittivi: din tista' tintuża għall-każijiet ġenerali, dan jirrikjedi żieda żgħira fil-memorja addizzjonali, kompatibbli ma 'tipi differenti ta' listi u faċli biex jiġi implimentat. Iżda hemm żvantaġġi, li għandha Quicksort: l-użu tax-xogħol permessa ħafna żbalji, u huwa kemmxejn instabbli.
Madankollu, huwa l-verżjoni l-aktar studjati. Wara l-ewwel Hoare ħlas, ħafna do studju dens tagħha. bażi kbira kien stabbilit fuq kwistjonijiet teoretiċi tal-konstatazzjoni tal-ħin mgħoddi fuq ix-xogħol, li hija bbażata evidenza empirika. Kien hemm proposti reali biex tittejjeb l-algoritmu bażiku u żieda veloċità.
Quicksort huwa komuni ħafna, li jista 'jinstab kullimkien. Abbażi tiegħu l-metodu huwa implimentat TList.Sort, preżenti fil-verżjonijiet kollha (ħlief 1) Delphi, il-funzjoni librerija ta 'żmien li ħadet biex jitlesta, qsort fis-C ++.
Il-prinċipju bażiku ta 'operazzjoni jistgħu jiġu fformulati bħala "firda u conquer". Hija iseħħ jitkissru l-lista f'żewġ gruppi u huma magħżula għal kull parti minnu stess. Minn dan isegwi li aktar attenzjoni għandha tingħata lill-proċess ta 'separazzjoni, waqt li jseħħ dan li ġej: huwa determinat minn element bażi u relattivament rranġat mill-ġdid lista sħiħa tiegħu. Mibnija fuq ix-xellug ta 'grupp ta' kandidati, il-valur tagħhom huwa inqas mir-regoli kollha transfer. Jirriżulta li l-element prinċipali fil-lista magħżula tkun f'postha leġittimi tagħha. L-istadju li jmiss - a isfida funzjonijiet issortjar rikursivi għaż-żewġ naħat tal-elementi relattivi għall-bażi. Dan jintemm il-proċess tax-xogħlijiet biss jekk il-lista tinkludi biss element wieħed, jiġifieri li jiġu magħżula. Għalhekk, sabiex kaptan funzjoni programmazzjoni bħala tip ta 'malajr, huwa meħtieġ li tkun taf l-ħidma ta' algoritmi ta 'livell aktar baxx: a) l-għażla tal-membru ordinarju; b) lista tal-permutation aktar effettivi biex jipproduċu żewġ settijiet b'valuri iżgħar u akbar.
Jiffamiljarizzaw ma ewwel prinċipji. Meta jagħżlu l-membru bażi, għandhom idealment ikunu magħżula mil-lista tal-medja. Imbagħad fuq il-waqfa huwa maqsum f'żewġ nofsijiet ugwali. Biss tikkalkula l- valur medju fil-lista huwa diffiċli ħafna, hekk anke l-issortjar mgħaġġla bypasses din in-naħa kalkulu. Iżda l-għażla tal-element bażiku bil-valur massimu jew minimu - ukoll mhux l-aħjar għażla. F'każ bħal dan id-determinazzjoni ta 'wieħed joħloq listi vojta se tkun iggarantita, u t-tieni sħiħa. Għalhekk il-konklużjoni li bħala l-membru bażi għandu jkun magħżul waħda li hija eqreb lejn il-medja, iżda fuq il-massimu u minimu.
Ladarba għażla huwa determinat, inti tista 'tipproċedi għall-algoritmu dekompożizzjoni. Din l-hekk imsejħa linji ta 'ġewwa tip ta' malajr. Kollox hija mibnija fuq żewġ indiċi Aċċess Rapidu: l-ewwel jmorru fuq l-elementi minn xellug għal-lemin, it-tieni, għall-kuntrarju, minn lemin għax-xellug. Jibda dritt eżekuzzjoni operazzjoni: l-indiċi huwa fuq il-lista u jqabblu l-valuri kollha għall-mejn. Iċ-ċiklu hija kompluta meta l-element huwa inqas minn jew daqs il-linja bażi. Dan huwa, hemm paragun u jnaqqas l-valur tal-indiċi. Min-naħa tax-xellug meta x-xogħol huwa lest ikbar minn jew valur ugwali. Hawnhekk, iż-żidiet valur paragun.
F'dan l-istadju ta 'algoritmu tqassim li jinkludi quicksort, jistgħu jinħolqu żewġ sitwazzjonijiet. L-ewwel hija li l-indiċi fuq ix-xellug huwa inqas minn dritt. Dan jindika żball, allura hemm elementi li fuqhom kien indikat fil-lista huma fl-ordni żbaljata. Output - bidla postijiet tagħhom. It-tieni sitwazzjoni hija meta kemm tal-kolonna hija ugwali għal jew qasmu. Dan jindika separazzjoni b'suċċess tal-lista, jiġifieri, ix-xogħol issa huma kompluti.
Similar articles
Trending Now