Недолуге сортування — це рекурсивний алгоритм сортування . Йому притаманна надзвичайно погана часова складність (nlog 3 / log 1.5 ) = O(n2.7095...). Швидкість роботи алгоритму менша порівняно з оптимальними алгоритмами сортування, він повільниший за Bubble sort, що є канонічним прикладом досить неефективного алгоритму сортування. Однак він ефективніший, ніж Slowsort . Назва походить від комедійного тріо The Three Stooges.
Ця стаття містить фрагменти англійською мовою. |
Алгоритм визначається наступним чином:
- Якщо значення на початку списку більше значення в кінці списку, то поміняти їх місцями.
- Якщо в списку є 3 або більше елементів:
- Рекусивно застосувати алгоритм до перших 2/3 списку
- Рекусивно застосувати алгоритм до останніх 2/3 списку
- Знову рекусивно застосувати алгоритм до перших 2/3 списку
При обчисленні кількості елементів при вираховуванні 2/3 списку, важливо округлювати вгору, наприклад, 2/3 від 5 має бути 4, а не 3, оскільки в іншому випадку для певних даних сортування може бути невдалим.
Реалізація
function stoogesort(array L, i = 0, j = length(L)-1){ if L[i] > L[j] then L[i] ↔ L[j] if (j - i + 1) > 2 then t = floor((j - i + 1) / 3) stoogesort(L, i , j-t) stoogesort(L, i+t, j) stoogesort(L, i , j-t) return L }
Ця стаття не містить . (лютий 2022) |
В іншому мовному розділі є повніша стаття Stooge sort(англ.). Ви можете допомогти, розширивши поточну статтю за допомогою з англійської. (лютий 2022)
|
Це незавершена стаття про алгоритми. Ви можете проєкту, виправивши або дописавши її. |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Nedoluge sortuvannya ce rekursivnij algoritm sortuvannya Jomu pritamanna nadzvichajno pogana chasova skladnist nlog 3 log 1 5 O n2 7095 Shvidkist roboti algoritmu mensha porivnyano z optimalnimi algoritmami sortuvannya vin povilnishij za Bubble sort sho ye kanonichnim prikladom dosit neefektivnogo algoritmu sortuvannya Odnak vin efektivnishij nizh Slowsort Nazva pohodit vid komedijnogo trio The Three Stooges Cya stattya mistit neperekladeni fragmenti anglijskoyu movoyu Vi mozhete dopomogti proyektu pereklavshi yih ukrayinskoyu Algoritm viznachayetsya nastupnim chinom Yaksho znachennya na pochatku spisku bilshe znachennya v kinci spisku to pominyati yih miscyami Yaksho v spisku ye 3 abo bilshe elementiv Rekusivno zastosuvati algoritm do pershih 2 3 spisku Rekusivno zastosuvati algoritm do ostannih 2 3 spisku Znovu rekusivno zastosuvati algoritm do pershih 2 3 spisku Pri obchislenni kilkosti elementiv pri virahovuvanni 2 3 spisku vazhlivo okruglyuvati vgoru napriklad 2 3 vid 5 maye buti 4 a ne 3 oskilki v inshomu vipadku dlya pevnih danih sortuvannya mozhe buti nevdalim Realizaciyafunction stoogesort array L i 0 j length L 1 if L i gt L j then L i L j if j i 1 gt 2 then t floor j i 1 3 stoogesort L i j t stoogesort L i t j stoogesort L i j t return L Cya stattya ne mistit posilan na dzherela Vi mozhete dopomogti polipshiti cyu stattyu dodavshi posilannya na nadijni avtoritetni dzherela Material bez dzherel mozhe buti piddano sumnivu ta vilucheno lyutij 2022 V inshomu movnomu rozdili ye povnisha stattya Stooge sort angl Vi mozhete dopomogti rozshirivshi potochnu stattyu za dopomogoyu perekladu z anglijskoyi lyutij 2022 Divitis avtoperekladenu versiyu statti z movi anglijska Perekladach povinen rozumiti sho vidpovidalnist za kincevij vmist statti u Vikipediyi nese same avtor redaguvan Onlajn pereklad nadayetsya lishe yak korisnij instrument pereglyadu vmistu zrozumiloyu movoyu Ne vikoristovujte nevichitanij i nevidkorigovanij mashinnij pereklad u stattyah ukrayinskoyi Vikipediyi Mashinnij pereklad Google ye korisnoyu vidpravnoyu tochkoyu dlya perekladu ale perekladacham neobhidno vipravlyati pomilki ta pidtverdzhuvati tochnist perekladu a ne prosto skopiyuvati mashinnij pereklad do ukrayinskoyi Vikipediyi Ne perekladajte tekst yakij vidayetsya nedostovirnim abo neyakisnim Yaksho mozhlivo perevirte tekst za posilannyami podanimi v inshomovnij statti Dokladni rekomendaciyi div Vikipediya Pereklad Ce nezavershena stattya pro algoritmi Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi