Випадкове сортування (англ. Bogosort) — неефективний на практиці гумористичний алгоритм сортування. Наочно використовується для впорядкування колоди карт таким чином: колода підкидається у повітря, карти збираються у довільному порядку і перевіряється, чи є колода впорядкованою. Якщо колода невпорядкована, то операцію повторюють.
Алгоритм має й інші назви: сортування бозо (англ. bozo sort), дурне сортування (англ. stupid sort), мавпяче сортування (англ. monkey sort), випадкове сортування (англ. random sort), сортування п'яниці (англ. drunk man sort).
Випадкове сортування не є стабільним.
Псевдокод
1 while not 2 do
Функція повертає значення істина, якщо масив впорядкований, а функція повертає випадкову перестановку елементів масиву.
Час роботи
Одна ітерація алгоритму потребує часу — найкращий можливий час роботи. В середньому алгоритм буде працювати: (в припущенні, що всі елементи масиву різні). Також час роботи алгоритму залежить від того скільки різних елементів присутні в масиві, і як часто кожен з них зустрічається. За лемою Бореля — Кантеллі, алгоритм завжди знайде правильне впорядкування (можливо за дуже велику кількість кроків).
Проте, слід зауважити, що в комп'ютерах використовуються не справжні випадкові числа а їх аналоги (псевдовипадкові числа). Тому комп'ютерна реалізація випадкового сортування може ніколи не завершити роботу.
Примітки
- Gruber, H.; Holzer, M.; Ruepp, O., Sorting the slow way: an analysis of perversely awful randomized sorting algorithms, 4th International Conference on Fun with Algorithms, Castiglioncello, Italy, 2007 (PDF), Lecture Notes in Computer Science, т. 4475, Springer-Verlag, с. 183—197, doi:10.1007/978-3-540-72914-3_17.
- Kiselyov, Oleg; Shan, Chung-chieh; Friedman, Daniel P.; Sabry, Amr (2005), Backtracking, interleaving, and terminating monad transformers: (functional pearl), (PDF), SIGPLAN Notices, с. 192—203, doi:10.1145/1086365.1086390, S2CID 1435535, архів оригіналу (PDF) за 26 березня 2012, процитовано 22 червня 2011
Посилання
- Реалізація випадкового сортування на мові C#. [ 13 квітня 2019 у Wayback Machine.]
Це незавершена стаття про інформаційні технології. Ви можете проєкту, виправивши або дописавши її. |
Це незавершена стаття про гумор, комедію або сатиру. Ви можете проєкту, виправивши або дописавши її. |
Ця стаття не містить . (лютий 2016) |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Vipadkove sortuvannya angl Bogosort neefektivnij na praktici gumoristichnij algoritm sortuvannya Naochno vikoristovuyetsya dlya vporyadkuvannya kolodi kart takim chinom koloda pidkidayetsya u povitrya karti zbirayutsya u dovilnomu poryadku i pereviryayetsya chi ye koloda vporyadkovanoyu Yaksho koloda nevporyadkovana to operaciyu povtoryuyut Algoritm maye j inshi nazvi sortuvannya bozo angl bozo sort durne sortuvannya angl stupid sort mavpyache sortuvannya angl monkey sort vipadkove sortuvannya angl random sort sortuvannya p yanici angl drunk man sort Vipadkove sortuvannya ne ye stabilnim PsevdokodB o g o S o r t A displaystyle BogoSort A 1 while not i s s o r t e d A displaystyle is sorted A 2 do A R a n d o m P e r m u t a t i o n A displaystyle A gets Random Permutation A Funkciya i s s o r t e d A displaystyle is sorted A povertaye znachennya istina yaksho masiv A displaystyle A vporyadkovanij a funkciya R a n d o m P e r m u t a t i o n A displaystyle Random Permutation A povertaye vipadkovu perestanovku elementiv masivu Chas robotiOdna iteraciya algoritmu potrebuye chasu O n displaystyle O n najkrashij mozhlivij chas roboti V serednomu algoritm bude pracyuvati n i 1 i n 1 1 n i 1 O n n displaystyle n cdot sum i 1 infty frac i n cdot 1 frac 1 n i 1 O n cdot n v pripushenni sho vsi elementi masivu rizni Takozh chas roboti algoritmu zalezhit vid togo skilki riznih elementiv prisutni v masivi i yak chasto kozhen z nih zustrichayetsya Za lemoyu Borelya Kantelli algoritm zavzhdi znajde pravilne vporyadkuvannya mozhlivo za duzhe veliku kilkist krokiv Prote slid zauvazhiti sho v komp yuterah vikoristovuyutsya ne spravzhni vipadkovi chisla a yih analogi psevdovipadkovi chisla Tomu komp yuterna realizaciya vipadkovogo sortuvannya mozhe nikoli ne zavershiti robotu PrimitkiGruber H Holzer M Ruepp O Sorting the slow way an analysis of perversely awful randomized sorting algorithms 4th International Conference on Fun with Algorithms Castiglioncello Italy 2007 PDF Lecture Notes in Computer Science t 4475 Springer Verlag s 183 197 doi 10 1007 978 3 540 72914 3 17 Kiselyov Oleg Shan Chung chieh Friedman Daniel P Sabry Amr 2005 Backtracking interleaving and terminating monad transformers functional pearl PDF SIGPLAN Notices s 192 203 doi 10 1145 1086365 1086390 S2CID 1435535 arhiv originalu PDF za 26 bereznya 2012 procitovano 22 chervnya 2011PosilannyaRealizaciya vipadkovogo sortuvannya na movi C 13 kvitnya 2019 u Wayback Machine Ce nezavershena stattya pro informacijni tehnologiyi Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi Ce nezavershena stattya pro gumor komediyu abo satiru Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi 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 2016