NİZAMİ
NİZAMLAYICI
OBASTAN VİKİ
Birləşdirməklə nizamlama
Birləşdirməli nizamlama(ing. merge sort, ru. сортировка слиянием) -bir neçə çeşidlənən (giriş) siyahının bir (çıxış) siyahıda birləşdirilməsindən ibarət çeşidləmə üsulu. Birinci siyahının ilk elementi götürülür və ikinci siyahının birinci elementi ilə müqayisə olunur; seçim edildikdən sonra elementin seçildiyi siyahının başlanğıcının göstəricisi növbəti elementə keçir və beləliklə, siyahılardan birinin sonunadək hərəkət edilir. Bu metod bir neçə siyahıya tətbiq edilə bilər. Maraqlıdır ki, iş yalnız siyahıların birinci elementləri ilə aparılır. Birləşdirməli çeşidləmə alqoritmi 1945-ci ildə Con fon Neyman tərəfindən icad olunub. Birləşdirməklə nizamlama alqoritmi Con fon Neyman tərəfindən 1945 -ci ildə ixtira edilmiş, parçala və idarə etmə mexanizminə əsaslanan nizamlama alqoritmidir. Alqoritm ən pis, ən yaxşı və orta halda eyni sayda əməliyyat yerinə yetirir, O(n log n). Ən pis halda tutduğu yer isə O(n).
Birləşdirməli nizamlama
Birləşdirməli nizamlama(ing. merge sort, ru. сортировка слиянием) -bir neçə çeşidlənən (giriş) siyahının bir (çıxış) siyahıda birləşdirilməsindən ibarət çeşidləmə üsulu. Birinci siyahının ilk elementi götürülür və ikinci siyahının birinci elementi ilə müqayisə olunur; seçim edildikdən sonra elementin seçildiyi siyahının başlanğıcının göstəricisi növbəti elementə keçir və beləliklə, siyahılardan birinin sonunadək hərəkət edilir. Bu metod bir neçə siyahıya tətbiq edilə bilər. Maraqlıdır ki, iş yalnız siyahıların birinci elementləri ilə aparılır. Birləşdirməli çeşidləmə alqoritmi 1945-ci ildə Con fon Neyman tərəfindən icad olunub. Birləşdirməklə nizamlama alqoritmi Con fon Neyman tərəfindən 1945 -ci ildə ixtira edilmiş, parçala və idarə etmə mexanizminə əsaslanan nizamlama alqoritmidir. Alqoritm ən pis, ən yaxşı və orta halda eyni sayda əməliyyat yerinə yetirir, O(n log n). Ən pis halda tutduğu yer isə O(n).
Heydərabad nizamları
Heydərabadın Nizamülmülkü (tel. నిజాం-ఉల్-ముల్క్ అఫ్ హైదరాబాద్; urdu نظام-ال-ملک وف حیدرآباد; marathi निझाम-उल-मुल्क ए हैदराबाद; kann. ನಿಜ್ಯಮ್-ಉಲ್-ಮುಲ್ಕ್ ಆಫ್ ಹೈದರಾಬಾದ್; fars. نظام-ال-ملک اف حیدرآباد‎), və yaxud qısaca Heydərabad nizamı — 1720–1948-ci illər arasında Heydərabad, başçılarının titulu. == Titulun yaranması == == Soyun və sülalənin yaranması == Heydərabad XVII–XIX əsrlərdə Hindistanının ən nüfuzlu müsəlman mərkəzi olub. Bu şəhər 1724-cü ildən 1947-ci ildə müstəqilliyin əldə olunmasınadək oldugca zəngin Nizamülmülklər tərəfindən idarə olunub. Şəhərdə onların irsini daşıyan əlamətlərə hələ də rast gəlmək olar. 1724-cü ildə Böyük Moğol İmperiyasının X padşahı Fərruxsiyar Mir Qəmərüddin xan Siddiqini Dekenin valisi təyin etdi və ona Nizamülmülk ləqəbini verdi. Elə həmin ildən Mir Qəmərüddin xan Asəfcah ləqəbi ilə Heydərabadı müstəqil idarə etməyə başladı.
Nizamlama alqoritmi
İnformatikaa nizamlama alqoritmi siyahıdakı elementləri müəyyən bir nizamla (sıra ilə) düzmək üçün istifadə olunan alqoritmdir.
Permutasiya nizamlaması
Alqoritmin işləmə prinsipi çox sadədir. Alqoritm müəyyən ədədlər massivinin Permutasiyalarını növbə ilə yoxlayır və sıralanmış vəziyyətin tapılması halında öz işini sona çatdırır. Alqoritmi sadə olaraq aşağıdakı formada yazmaq olar: Massiv sıralı olana qədər, Permutasiyasın al. nizamlamaq istədiyimiz massiv aşağıdakı kimi olsun. 1285 Burda massivin permutasiyaları alınaraq, massiv sıralanana qədər davam etdirilir. Bu əməliyyatların sayı n! ilə hesablandığından burda sıralanmanın ən pis ehtimalı 4! = 24-dür. 2 6 8 1 2 8 6 1 2 6 8 1 8 6 2 1 2 6 8 1 2 6 1 8 2 1 6 8 1 2 6 8 Yuxarıdakı permutasiyalardan sonuncusu sıralanmış vəziyyətdədir və alqoritm bu vəziyyətə çatdıqda sonlanır.
Qabarcıq nizamlama
Qabarcıqlı nizamlama və ya qabarcıqlı sıralama (ing. Bubble sort) — iki qonşu elementi müqayisə etməklə və əgər onlar səhv nizamda isə onların yerini dəyişməklə verilən siyahını təkrarla yoxlayaraq, sıralayan alqoritmdir. Alqoritmin performansı aşağıdakı kimidir: ən yaxşı vaxt = O ( n ) {\displaystyle O(n)} orta vaxt = O ( n 2 ) {\displaystyle O(n^{2})} "5 1 4 2 8" şəklində bir massiv götürək, və massivi artma sırasına görə sıralayaq. Hər bir addımda müqayisə olunan elementlər tünd qara ilə göstərilib. Sona qədər sıralama üçün 3 keçid lazımdır. Birinci keçid: ( 5 1 4 2 8 ) → {\displaystyle \to } ( 1 5 4 2 8 ), Burada alqoritm ilk iki elementi müqayisə edir və 5>1 olduğu üçün 5 ilə 1-in yerini dəyişir. ( 1 5 4 2 8 ) → {\displaystyle \to } ( 1 4 5 2 8 ), 5 > 4 olduğu üçün ( 1 4 5 2 8 ) → {\displaystyle \to } ( 1 4 2 5 8 ), 5 > 2 olduğu ( 1 4 2 5 8 ) → {\displaystyle \to } ( 1 4 2 5 8 ), 5 < 8, heç bir dəyişiklik olmur. İkinci keçid: ( 1 4 2 5 8 ) → {\displaystyle \to } ( 1 4 2 5 8 ) ( 1 4 2 5 8 ) → {\displaystyle \to } ( 1 2 4 5 8 ), 4 > 2 olduğu üçün ( 1 2 4 5 8 ) → {\displaystyle \to } ( 1 2 4 5 8 ) ( 1 2 4 5 8 ) → {\displaystyle \to } ( 1 2 4 5 8 ) Hal - hazırda massiv artma sırasına görə sıralanıb (nizamlanıb). Amma alqoritm bunun belə olduğunu bilmədiyi üçün elementlərin yerini dəyişmədən birdaha elementləri müqayisə edəcək. Üçüncü keçid: ( 1 2 4 5 8 ) → {\displaystyle \to } ( 1 2 4 5 8 ) ( 1 2 4 5 8 ) → {\displaystyle \to } ( 1 2 4 5 8 ) ( 1 2 4 5 8 ) → {\displaystyle \to } ( 1 2 4 5 8 ) ( 1 2 4 5 8 ) → {\displaystyle \to } ( 1 2 4 5 8 ) Python dilində implementasiya aşağıdakı kimi olar.
Qabarcıqlı nizamlama
Qabarcıqlı nizamlama və ya qabarcıqlı sıralama (ing. Bubble sort) — iki qonşu elementi müqayisə etməklə və əgər onlar səhv nizamda isə onların yerini dəyişməklə verilən siyahını təkrarla yoxlayaraq, sıralayan alqoritmdir. Alqoritmin performansı aşağıdakı kimidir: ən yaxşı vaxt = O ( n ) {\displaystyle O(n)} orta vaxt = O ( n 2 ) {\displaystyle O(n^{2})} "5 1 4 2 8" şəklində bir massiv götürək, və massivi artma sırasına görə sıralayaq. Hər bir addımda müqayisə olunan elementlər tünd qara ilə göstərilib. Sona qədər sıralama üçün 3 keçid lazımdır. Birinci keçid: ( 5 1 4 2 8 ) → {\displaystyle \to } ( 1 5 4 2 8 ), Burada alqoritm ilk iki elementi müqayisə edir və 5>1 olduğu üçün 5 ilə 1-in yerini dəyişir. ( 1 5 4 2 8 ) → {\displaystyle \to } ( 1 4 5 2 8 ), 5 > 4 olduğu üçün ( 1 4 5 2 8 ) → {\displaystyle \to } ( 1 4 2 5 8 ), 5 > 2 olduğu ( 1 4 2 5 8 ) → {\displaystyle \to } ( 1 4 2 5 8 ), 5 < 8, heç bir dəyişiklik olmur. İkinci keçid: ( 1 4 2 5 8 ) → {\displaystyle \to } ( 1 4 2 5 8 ) ( 1 4 2 5 8 ) → {\displaystyle \to } ( 1 2 4 5 8 ), 4 > 2 olduğu üçün ( 1 2 4 5 8 ) → {\displaystyle \to } ( 1 2 4 5 8 ) ( 1 2 4 5 8 ) → {\displaystyle \to } ( 1 2 4 5 8 ) Hal - hazırda massiv artma sırasına görə sıralanıb (nizamlanıb). Amma alqoritm bunun belə olduğunu bilmədiyi üçün elementlərin yerini dəyişmədən birdaha elementləri müqayisə edəcək. Üçüncü keçid: ( 1 2 4 5 8 ) → {\displaystyle \to } ( 1 2 4 5 8 ) ( 1 2 4 5 8 ) → {\displaystyle \to } ( 1 2 4 5 8 ) ( 1 2 4 5 8 ) → {\displaystyle \to } ( 1 2 4 5 8 ) ( 1 2 4 5 8 ) → {\displaystyle \to } ( 1 2 4 5 8 ) Python dilində implementasiya aşağıdakı kimi olar.
Qalaq nizamlama
Qalaq sıralama alqoritmi (ing. heapsort) - massivin elementlərini qalağa yığmaqla həyata keçirilən sıralama qaydasıdır. İlk mərhələdə verilənlər ikilik qalaq qaydasında birincilik növbəsinə yığılır. İkinci addımda isə elementlər bir-bir növbədən götürülərək massivdə bunun nəticəsində boşalmış yerə yerləşdirilir.
Sürətli nizamlama (Quicksort)
Sürətli nizamlama (ing. Quicksort) alqoritmi Tony Hoare tərəfindən 1959 -cu ildə hazırlanmış və 1961 -ci ildə nəşr olunmuş, nizamlama alqoritmidir. Sürətli nizamlama alqoritmi rekursiv alqoritmdir, parçala və idarə etmə alqoritminə əsaslanır. Sürətli nizamlama alqoritminin riyazi analizləri göstərir ki, alqoritm n elementi nizamlamaq üçün ortalama O(n log n) müqayisə əməliyyatı yerinə yetirir. Ən pis halda isə O(n2) əməliyyat yerinə yetirir. Sürətli nizamlama alqoritmi parçala və idarə etmə alqoritmidir. Sürətli nizamlama əvvəlcə massivi iki kiçik massivə bölür: kiçik elementlər massivi və böyük elementlər massivi. Sonra rekursiv olaraq bu massivləri sıralayır. Massiv boş olduqda və bir elementdən ibarət olduqda onu nizamlamağa ehtiyac olmur. Bu iki hal sürətli nizamlama alqoritmində əsas hal (base case) adlandırılır.
Təsadüfi nizamlama
Təsadüfi nizamlama və ya Axmaq nizamlama - kompüter elmlərində yalnız təhsil(nümunə) məqsədilə istifadə olunan səmərəsiz nizamlama alqoritmidir. Bir dəstə oyun kartını bu alqortim ilə nizamlamaq istəndiyində, dəstənin sıralı olub olmadığına baxılar, əgər dəstə sıralı deyilsə havaya atılaraq yerə düşən kartlar yenidən toplanır. Bu əməliyyat kartlar sıralanana qədər davam edir.
Əlavə etməklə nizamlama
Artırmalı nizamlama (ing. insertion sort ~ ru. сортировка вставкой ~ tr. eklemeli sıralama) – siyahıda bir elementdən başlayıb, yeni elementləri bir-bir lazım olan yerlərə qoymaqla siyahının yenidən qurulmasından ibarət nizamlama alqoritmi. Artırmalı nizamlama massivlərlə işlərkən səmərəli olmur (elementlərin daim yerlərini dəyişdirilməsi səbəbindən), ancaq əlaqəli siyahıların çeşidlənməsi üçün ideal uyğun gəlir. Proqramlaşdırması olduqca sadə olan ancaq performans baxımından digər sıralama alqoritmlərindən zəifdir. Alqoritmin adı seçilən elementin sıralanmış massivdə uyğun yerə əlavə edilməsindən gəlir. İşləməsinə aşağıdakı nümunə üzərində baxaq. 3 4 2 8 ilk rəqəmdən başlayaq.(3) Birinci gedişdə sadəcə 3 sıralanır yəni heç nə etmirik. 3* 4 2 8(* simvolu O ana qədər sıraladığımız rəqmləri göstərir.

Digər lüğətlərdə