KompüterProqramlaşdırma

Bir proqramlaşdırma metodu kimi sürətli sıralama

1960-cı ildə, K. A. Hoar informasiya sürətli çeşidlənməsi üçün bir üsul inkişaf etmiş ən məşhur oldu. müsbət xüsusiyyətləri bir çox var kimi Bu gün geniş proqramlaşdırma istifadə olunur: bu ümumi hallarda istifadə edilə bilər, bu siyahıları müxtəlif növləri ilə uyğun və həyata keçirilməsi üçün asan əlavə yaddaş kiçik bir artım tələb edir. istifadə iş səhvlər bir çox icazə və bu qədər qeyri-sabit Lakin sürətli sıralama olan, çatışmazlıqlar var.

Lakin, ən tədqiq versiyası. ilk ödəniş Hoare sonra, bir çox onun sıx iş yoxdur. böyük baza empirik sübutlar dayanır iş, sərf vaxt tapmaq nəzəri məsələləri üzrə yaradılmışdır. əsas alqoritm və artan sürəti artırmaq üçün real təkliflər var idi.

QuickSort hər yerdə tapa bilərsiniz, çox ümumi. onun əsasında metodu Delphi, bu ++ C, qsort başa çatdırmaq üçün aldı vaxt kitabxana funksiyası (1 istisna olmaqla) bütün versiyasını mövcud TList.Sort, həyata keçirilir.

əməliyyat əsas prinsipi "parçala və fəth" kimi ifadə edilə bilər. Bu iki qrupa siyahısını qırılma baş verir və özü hər hissəsi üçün ayrılır. bir baza element tərəfindən müəyyən edilir və nisbətən onun bütün siyahısını yenidən etdi: Daha çox diqqət aşağıdakı verir zamanı ayrılması prosesi yetirilməlidir ki, aşağıdakı. namizədlərin bir qrup sol inşa dəyər olan bütün digər transfer qaydaları azdır. Bu sıralaması siyahısında əsas element layiq olduğu yerdə olduğunu çıxır. Növbəti mərhələ - baza nisbi elementləri hər iki tərəf üçün bir çağırışdır recursive çeşidlənməsi funksiyaları. Bu sıralanır edilir, proses siyahısı yalnız bir element var yalnız çalışır bitir. Belə ki, tez növ kimi bir proqramlaşdırma funksiyası master üçün, aşağı səviyyəli alqoritmlər iş bilmək lazımdır: a) baza üzvü seçilməsi; b) ən təsirli permutation siyahısı kiçik və böyük dəyərləri ilə iki dəst istehsal.

ilk prinsipləri ilə tanış. baza üzvü seçerken, ideal orta siyahısından seçilmiş olmalıdır. Sonra fasilə iki bərabər hissəyə bölünür. Just hesablamaq orta dəyəri siyahısında çox çətindir, belə ki, hətta ən sürətli çeşidlənməsi bu calculus yan bypasses. Amma maksimum və ya minimum dəyəri ilə əsas element seçimi - də ən yaxşı seçim. halda bir cür müəyyən boş siyahıları zəmanət və ikinci tam olunacaq yaradır. Beləliklə baza üzvü kimi orta yaxın bir seçilmiş, lakin maksimum və minimum olmalıdır nəticə.

seçim müəyyən sonra, parçalanma alqoritm davam edə bilərsiniz. Bu sürətli sort daxili loops deyilən. Hər şey iki Rapid Access göstəriciləri üzərində qurulmuşdur: ilk sağdan sola, əksinə, sağ ikinci soldan elementləri üzərində gedin. əməliyyat icra hüququ başlayır: index siyahıda və əsas bütün dəyərlər müqayisə. element baza daha az və ya bərabər olduqda dövrü tamamlandı. Bu bir müqayisə edir və index dəyəri azalır edir. Sol tərəfdən iş çox və ya bərabər dəyər başa zaman. Burada müqayisə dəyəri artır.

sürətli sıralama ibarətdir bölümleme alqoritm Bu mərhələdə iki hallar yarana bilər. ilk sol index doğru az olmasıdır. Bu səhv göstərir, o siyahısında ifadə edildi olan elementləri səhv üçün var var. Çıxış - öz yerlərini dəyişir. sütun, həm də bərabər və ya keçdi zaman ikinci vəziyyət. Bu ki, iş artıq tam siyahı uğurlu ayrılması göstərir.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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