Bogosort

Z testwiki
Wersja z dnia 19:01, 23 cze 2023 autorstwa imported>Paweł Ziemian BOT (poprawiam zapis ISSN)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacji Przejdź do wyszukiwania

Szablon:Algorytm infobox Bogosortniestabilny, trywialny w działaniu algorytm sortowania o bardzo dużej złożoności obliczeniowej, oparty na metodzie prób i błędów.

Działanie algorytmu polega na ciągłym losowym ustawianiu sortowanych elementów i sprawdzaniu czy po wymieszaniu elementy są posortowane. Operacje mieszania powtarzane są aż do posortowania elementów. Aby posortować talię kart tym algorytmem należy wyrzucić talię w powietrze, pozbierać z podłogi i sprawdzić czy karty ułożyły się w oczekiwany porządek. Czynność powtarzamy aż do uzyskania oczekiwanego efektu[1].

Zastosowanie

Algorytm stosuje się głównie w celach edukacyjnych, aby uzyskać efekt kontrastu przy porównywaniu z innymi algorytmami. Nie jest używany w praktyce – posortowanie kilkunastu elementów może trwać bardzo długo i nie ma pewności, czy w ogóle się zakończy.

Złożoności

Średnia złożoność obliczeniowa wynosi Ω(nn!)[2]. W przypadku pesymistycznym sortowanie będzie trwać w nieskończoność[2]. Zajętość pamięci wynosi O(n).

Pseudokod

dopóki nie jest_posortowana(tablica)
 tablica := losowa_permutacja(tablica)

Odmiany

Bozo sort

Różnica pomiędzy Bogosortem a Bozosortem jest taka, że ten drugi – w przypadku, gdy elementy nie są jeszcze posortowane – zamienia miejscami dwa dowolne elementy i ponawia sprawdzanie porządku elementów.

Bogobogo sort

To algorytm sortowania, który został stworzony tak, aby nie odniósł sukcesu do śmierci cieplnej wszechświata.

Zobacz też

Przypisy

Szablon:Przypisy

Szablon:Algorytmy sortowania

  1. Szablon:Cytuj stronę
  2. 2,0 2,1 Błąd rozszerzenia cite: Błąd w składni znacznika <ref>; brak tekstu w przypisie o nazwie fun