Stupid sort

Stupid sort

Stupid sort, en inglés también conocido como BogoSort, es probablemente el más sencillo de los algoritmos de ordenamiento.

Es utilizado para reorganizar valores en un array (también llamado vector, o arreglo) en orden ascendente o descendente. Su nombre se refiere al hecho de que su extrema sencillez repercute en su baja eficiencia, es decir, su rendimiento es pobre en términos de tiempo de ejecución. Su eficiencia media es O(n*n!), extremadamente ineficiente.

Stupid-sort nunca reitera en ordenar los datos en el mejor caso (es decir, cuando los datos ya estén en orden) con un tiempo de ejecución lineal (en este caso óptimo su tiempo de ejecución es O(n), donde n es el número de elementos en el array). Adicionalmente, su forma no recursiva ordena los datos-en-su-lugar (in place, en inglés), por lo cual no se necesita memoria extra para guardar los datos temporales.

A diferencia del ordenamiento de burbuja, bubble sort, este algoritmo de ordenamiento comienza todo otra vez —esto es, reitera— si encuentra tan solo un elemento fuera de orden. Esto, que simplifica el flujo del algoritmo, conduce a la vez a un tiempo de ejecución muy elevado.

Stupid sort es un algoritmo de ordenamiento estable, lo cual significa que dos valores que tengan el mismo valor se mantendrán en el mismo orden relativo.

Contenido

Stupid-sort iterativo

El algoritmo Stupid-sort iterativo se puede describir así:

  1. Inicia por el principio del array, lo examina hasta encontrar dos elementos consecutivos fuera de orden.
  2. Intercambia esos dos elementos y reinicia el algoritmo (va a la línea 1).
  3. El algoritmo termina cuando llega al final del vector.

Implementación

En pseudocódigo

Mientras no Ordenado(array) hacer
Ordenar(array);

En C/C++

bogoSort(array)
{
    int i=0;
 
    while (i < length(array)) {
        if (array[i+1] < array[i])  {
            intercambia(array[i], array[i+1]);
            i = 0;
        } else 
            i++;
    }
}
void intercambia(t_dato &elem1, t_dato &elem2)
{
    t_dato aux; // estoy usando tipo de dato t_dato para generalizar la implementación
                // si usaran int o char quedaría limitado a ese dato y no se podría utilizar 
                // para un arreglo de otro tipo de dato 
    aux = elem2;
    elem2 = elem1;
    elem1 = aux;
}

Wikimedia foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Mira otros diccionarios:

  • Stupid sort — es probablemente el algoritmo de ordenamiento conocido más sencillo. Este es utilizado para reorganizar valores en un arreglo en orden ascendente o descendente. Su nombre se refiere a como un algoritmo tan simple e intuitivo puede tener un… …   Enciclopedia Universal

  • Stupid sort — Глупая сортировка (англ. Stupid sort)  простой алгоритм сортировки. Для понимания и реализации этот алгоритм  простейший, но эффективен он лишь для небольших массивов. Сложность алгоритма: O(n3). Содержание 1 Алгоритм 2 Примеры реализации 2.1 …   Википедия

  • Stupid Girl (Garbage song) — Infobox Single Name = Stupid Girl Artist = Garbage from Album = Garbage B side = Driving Lesson Alien Sex Fiend Released = February 28, 1996 (Europe) March 11, 1996 (UK) May 25, 1996 (U.S.) Format = 7 , 12 , CD maxi, cassette single Recorded =… …   Wikipedia

  • Stupid! — Infobox Television show name = Stupid! caption = show name 2 = genre = Comedy Children s creator = director = Jason Garbett creative director = developer = presenter = starring = Marcus Brigstocke Phil Cornwell Rusty Goffe voices = narrated =… …   Wikipedia

  • Stupid Girls — Infobox Single Name = Stupid Girls Artist = Pink from Album = I m Not Dead B side = Heartbreaker Released = February 2006 (USA) March 20, 2006 (UK) Format = Digital download, CD single, 12 maxi single Recorded = The Magic Shop, NYC; Turtle Sound… …   Wikipedia

  • Stupid Girl (The Rolling Stones song) — Song infobox Name = Stupid Girl Artist = The Rolling Stones Album = Aftermath Released = 15 April 1966 (U.K.) 13 May 1966 (U.S.) track no = Genre = Rock Length = 2:55 Writer = Jagger/Richards Label = Decca/ABKCO (U.K.) ABKCO (U.S.) Producer =… …   Wikipedia

  • Gnome sort — El algoritmo de ordenación conocido como gNome sort tiene una historia de invención cuasi paralela. Durante un tiempo existió la polémica sobre su invención, finalmente atribuída a Hamid Sarbazi Azad quien lo desarrolló en en año 2000 y al que… …   Wikipedia Español

  • Dare to Be Stupid — For the song, see Dare to Be Stupid (song). Dare to Be Stupid …   Wikipedia

  • Dare to Be Stupid (song) — Dare to Be Stupid Single by Weird Al Yankovic from the album Dare to Be Stupid The Transformers The Movie: Original Motion Picture Soundtrack …   Wikipedia

  • Junie B. Jones and the Stupid Smelly Bus — is the first book in the series of Junie B. Jones. This book was written by Barbara Park and published in 1992. Plot summary Junie B. Jones is just starting kindergarten and she meets her teacher whom she refers to as Mrs. We never find out Mrs.… …   Wikipedia

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”