Bogosort
Shodovat se k Souboru žargonu, bogosort je “typický zvrhle hrozný algoritmus”, ekvivalent k opakovaně házet palubu kart ve vzduchu, osvojovat si je náhodně, a pak testovat zda oni jsou v pořádku. To je pojmenované po termínu humourous kvantové bogodynamics.Tady je pseudokód algoritmu:
zatímco ne je _ třídil (sadu)
sada: = náhodný _ obměna (sada)
Tento algoritmus třídění je probabilistic v přírodě. Jestliže všechny elementy být tříděn být zřetelný, očekávaná složitost je O (n × n!). Přesný očekávaný hrací čas závisí na kolika odlišném prvku ceny se udávají, a jak často každý je nastane, až na non-triviální případy očekávaný hrací čas je exponenciální nebo výborný-exponenciální v n.
To by mělo být si všiml toho s real-world pseudonáhodné číselné algoritmy, který mít konečné množství států, algoritmus může nikdy končit pro jisté vstupy.
Pokračování je realizace v C + +:
- obsahovat
- obsahovat
zatímco (! je _ třídil (sada )) std:: náhodný _ míchat (array.begin (), array.end ());}
šablona bool je _ třídil (const std:: vektora sada) {
pro (std typename:: vektor:: velikost _ psát i = 1; i}