Сортування Бого
Сортування Бого (англ. Bogosort) — неефективний на практиці алгоритм сортування. Використовується для впорядкування колоди карт таким чином: колода підкидається у повітря, карти збираються у довільному порядку і перевіряється, чи є колода впорядкованою. Якщо колода невпорядкована, то операцію повторюють.
Алгоритм має й інші назви: сортування бозо (англ. bozo sort), дурне сортування (англ. stupid sort), мавп'яче сортування (англ. monkey sort), випадкове сортування (англ. random sort), сортування п'яниці (англ. drunk man sort).
Сортування Бого не є стабільним.
Псевдокод [ред.]
1 while not
2 do
![]()
Функція
повертає значення істина, якщо масив
впорядкований, а функція
повертає випадкову перестановку елементів масиву.
Час роботи [ред.]
Одна ітерація алгоритму потребує часу
— найкращий можливий час роботи. В середньому алгоритм буде праціювати:
(в припущенні, що всі елементи масиву різні). Також час роботи алгоритму залежить від того скільки різних елементів присутньо в масиві,і як часто кожен з них зустрічається. За лемою Бореля-Кантеллі, алгоритм завжди знайде правильне впорядкування (можливо за дуже велику кільксть кроків).
Проте, слід зауважити, що в комп'ютерах використовуються не справжні випадкові числа а їх аналоги (псевдовипадкові числа). Тому комп'ютерна реалізація сортування бого може ніколи не завершити роботу.
|
||||||||||||||||||||||||||||

1 while not