How to resolve the algorithm Sorting algorithms/Bogosort step by step in the Nanoquery programming language

Published on 12 May 2024 09:40 PM

How to resolve the algorithm Sorting algorithms/Bogosort step by step in the Nanoquery programming language

Table of Contents

Problem Statement

Bogosort a list of numbers.

Bogosort simply shuffles a collection randomly until it is sorted. "Bogosort" is a perversely inefficient algorithm only used as an in-joke.
Its average run-time is   O(n!)   because the chance that any given shuffle of a set will end up in sorted order is about one in   n   factorial,   and the worst case is infinite since there's no guarantee that a random shuffling will ever produce a sorted sequence. Its best case is   O(n)   since a single pass through the elements may suffice to order them.

Pseudocode:

The Knuth shuffle may be used to implement the shuffle part of this algorithm.

Let's start with the solution:

Step by Step solution about How to resolve the algorithm Sorting algorithms/Bogosort step by step in the Nanoquery programming language

Source code in the nanoquery programming language

def sorted(list)
        if len(list) = 0
                return true
        end

        for i in range(0, len(list) - 2)
                if list[i] > list[i + 1]
                        return false
                end
        end

        return true
end

def bogosort(list)
        while not sorted(list)
                list = list.shuffle()
        end

        return list
end

  

You may also check:How to resolve the algorithm Averages/Pythagorean means step by step in the AWK programming language
You may also check:How to resolve the algorithm Hofstadter Figure-Figure sequences step by step in the Kotlin programming language
You may also check:How to resolve the algorithm Apply a digital filter (direct form II transposed) step by step in the Go programming language
You may also check:How to resolve the algorithm Tarjan step by step in the C++ programming language
You may also check:How to resolve the algorithm Non-decimal radices/Convert step by step in the Icon and Unicon programming language