Está en la página 1de 9

Fecha de Realización: 05/03/2024

Fecha de entrega: 08/03/2024

Instituto Politécnico Nacional

ESIME Unidad Culhuacán

Probabilidad y
Estadística
Grupo: 6MM1
Tipo de Ordenamiento de Datos

Alumno: Aguilar Rodríguez Angel


Profesor: Balderrama López Javier
Tipos de Ordenamiento de Datos

1. Método de Ordenamiento Burbuja

El ordenamiento de burbuja es un tipo de ordenamiento en el cual se hacen


múltiples pasadas a lo largo de una lista. Esto para comparar los elementos que
esta contiene e intercambiar los que no están en orden. Cada pasada a lo largo de
la lista ubica al siguiente valor más grande en su lugar apropiado. En resumen,
cada ítem “burbujea” hasta el lugar al que
pertenece.
Otra forma de explicarlo podría ser diciendo
que el método de ordenación por burbuja es
un algoritmo de ordenamiento, que funciona
revisando cada elemento de la lista que va a
ser ordenada con el siguiente elemento, esto
con la finalidad de ir acomodando los
elementos en orden progresivo. En este
método de ordenación se realiza el
intercambio entre los más grandes y los más
pequeños (quedando arriba los más grandes).
Estos intercambios suceden en dos ciclos, un
ciclo que es interno que realiza las
comparaciones y se asegura de que en la
primera revisión que los elementos más
grandes suban a la posición más alta, y el
otro ciclo que es un poco más externo se
encarga de realizar las revisiones.
Para concluir, el método de ordenamiento
burbuja es un método de ordenamiento
bastante conocido por programadores debido a la complejidad que puede
sustentar, pero la facilidad de ejecución que este posee.
2. Método de Ordenamiento Shell

El método de ordenamiento Shell se denomina así en honor a su inventor Donald


Shell. El llamado Shell sort es una generalización del ordenamiento por inserción,
teniendo en cuenta dos observaciones: el ordenamiento por inserción es eficiente
si la entrada está “casi ordenada”. El ordenamiento por inserción es ineficiente, en
general, porque mueve los valores sólo una posición cada vez. El algoritmo es por
ende es una mejora de la ordenación por inserción, donde se van comparando los
elementos distantes, al tiempo que se los intercambian si corresponde. A medida
que se aumentan los pasos, el tamaño de los
saltos disminuye; por esto mismo, es útil
tanto como si los datos desordenados se
encuentran cercanos, o lejanos.

Este tipo de ordenamiento es adecuado para


ordenar listas de tamaño moderado, debido a
que su velocidad es aceptable y su
codificación es bastante sencilla. Su
velocidad depende de la secuencia de
valores con los cuales trabaja, ordenándolos.
En una vista más técnica de cómo trabaja
este método de ordenamiento se puede decir
que el ordenamiento Shell consiste en dividir
el arreglo en intervalos o bloques de varios
elementos para organizarlos después por
medio del ordenamiento de inserción directa.
El proceso se repite, pero con intervalos
cada vez más pequeños. De tal manera que,
al final, el ordenamiento se haga en un
intervalo de una sola posición, similar al
ordenamiento por inserción directa, la
diferencia entre ambos es qué, al final, en el método Shell los elementos ya están
casi ordenados.
3. Método de Ordenamiento de Inserción

El método de ordenamiento por inserción es uno de los más fáciles y utilizados, en


este tipo de algoritmo los elementos que van a ser ordenados son considerados
uno a la vez. Cada elemente es insertado en la posición apropiada con respecto al
ordenamiento del arreglo (con los demás valores definidos).

El funcionamiento de este tipo de ordenamiento consiste en que cada ítem nuevo


se “inserta” de vuelta en la sublista previa de manera que la sublista ordenada sea
un ítem más largo. En otras palabras, consiste en tomar uno por uno los
elementos de un arreglo y recorrerlo hacia su posición con respecto a los
anteriormente ordenados. Así empieza con el segundo elemento y lo ordena con
respecto al primero. Luego sigue
con el tercero y lo coloca en su
posición ordenada con respecto a
los dos anteriores, así
sucesivamente hasta recorrer todas
las posiciones del arreglo.
Los diagramas de este tipo de
ordenamiento suelen tener
demasiados nodos, pero son útiles
a la hora de necesitar una
referencia visual del concepto que
se está intentando abarcar.
4. Método de Ordenamiento de Selección

En este tipo de algoritmos se selecciona – como bien dice su nombre – o se busca


el elemento más pequeño (o el más grande) de todo el conjunto de elementos y se
coloca en su posición adecuada. Este proceso se repite para el resto de los
elementos hasta que todos son analizados. Entre estos algoritmos se encuentra el
de Selección directa.
Este método consiste en encontrar el menor de todos los elementos del arreglo o
vector e intercambiarlo con el
que está en la primera posición.
Luego el segundo más
pequeño, y así sucesivamente
hasta ordenarlo todo. Este
algoritmo mejora ligeramente al
algoritmo de la burbuja que se
habló previamente. En el caso
de tener que ordenar un vector
de eneros esta mejora no es
muy sustancial, pero cuando
hay que ordenar un vector de
estructuras más complejas, la
operación de intercambiar los
elementos sería más costosa
en este caso. Su
funcionamiento se puede definir
de forma general como:
Buscar el mínimo elemento
entre una posición i y el final de
la lista.
E Intercambiar el mínimo con el
elemento de la posición i.
En otras palabras, el
ordenamiento por selección
mejora el ordenamiento burbuja haciendo un solo intercambio por cada pasada a
través de la lista. Para hacer esto, un ordenamiento por selección busca el valor
mayor o menor a medida que hace una pasada y, después de completar la
pasada, lo pone en la ubicación correcta. Al igual que con un ordenamiento
burbuja, después de la primera pasada, el ítem mayor está en la ubicación
correcta. Después de la segunda pasada, el siguiente mayor está en su ubicación
y así sucesivamente hasta que el arreglo esté ordenado de mayor a menor o
viceversa.

5. Código
El código que se presenta a continuación es un simple código de ordenamiento de
datos de tipo Burbuja que solicita 7 datos numéricos al usuario para ordenarlos de
menor a mayor valor.

#include <stdlib.h>
#include <stdio.h>
#include <locale.h>
int main(){
setlocale(LC_CTYPE, "Spanish");
int valores[7];
int b,c,d,t;
printf(".:: En este programa tendrás que proporcionar 7 números para que el
programa los ordene de mayor a mayor ::.");
for (int a = 0;a <= 6; a++){
printf("\n\ningrese un valor: ");
scanf("%i",&valores[a]);
}
for(b=0;b<=6;b++){
for(c=0,d=1;d<=6;c++,d++){
if(valores[c]>valores[d]){
t=valores[d];
valores[d]=valores[c];
valores[c]=t;
}
}
}
printf("\n");
for(b=0;b<7;b++){
printf("\t%i ||",valores[b]);
}
return 0;
}

Prueba Documental

En esta prueba documental se puede observar el código del lado izquierdo y la


consola del lado derecho a la vez que se puede apreciar que el mismo código se
corrió para demostrar que funciona
Bibliografía

* 5.8. El ordenamiento por selección — Solución de problemas con algoritmos y

estructuras de datos. (2019). Runestone.

https://runestone.academy/runestone/static/pythoned/SortSearch/ElOrdenamientoPo

rSeleccion.html

* 5.7. El ordenamiento burbuja — Solución de problemas con algoritmos y estructuras de

datos. (2019). runestone.

https://runestone.academy/runestone/static/pythoned/SortSearch/ElOrdenamientoBu

rbuja.html

* J. (2009). Métodos de Ordenamiento ShellSort en C++ - Código Fuente. CodeMyN.

https://codemyn.blogspot.com/2019/07/metodos-de-ordenamiento-shellsort-en-

c.html

* González, G. I. C. (2015). Ordenamiento por Método Shell. UNAM.

http://132.248.48.64/repositorio/moodle/pluginfile.php/1472/mod_resource/content/

1/contenido/index.html

• 5.9. El ordenamiento por inserción — Solución de problemas con algoritmos y

estructuras de datos. (2019). runestone.

https://runestone.academy/runestone/static/pythoned/SortSearch/ElOrdenamientoPo

rInsercion.html#:%7E:text=El%20ordenamiento%20por%20inserci%C3%B3n%2C

%20aunque,sea%20un%20%C3%ADtem%20m%C3%A1s%20larga.
• Ordenamiento por selección. (2014). free.

http://lwh.free.fr/pages/algo/tri/tri_selection_es.html

• EcuRed. (2019a). Algoritmo de ordenamiento por selección - EcuRed. EcuRed.

https://www.ecured.cu/Algoritmo_de_ordenamiento_por_selecci%C3%B3n

También podría gustarte