Está en la página 1de 2

Instituto Politécnico Nacional

Unidad Profesional Interdisciplinaria de Ingeniería Campus


Tlaxcala

Práctica: “Evaluación de algoritmos de ordenamiento”


Unidad de aprendizaje: Algoritmos y estructura de datos
Profesor: Ramos Aguilar Ricardo
Carrera: Ing. Inteligencia Artificial
Integrantes:
❖ Gallegos Yáñez Lemuel Efraín
❖ Luna Garcia Dulce Anahi
❖ Nava Méndez Edkir Uriel
❖ Vázquez Rojas Oscar Olaf

Objetivo. Evaluar tres algoritmos de ordenamiento a partir de algunas métricas y


concluir a partir de lo observado
Desarrollo:
1. A partir de la clasificación de la figura siguiente seleccione un algoritmo (no
realizado en clase) de los internos y codifíquelo en C.

2. Se sugiere realizar un ADT que incluya como funciones los algoritmos de


ordenamiento desarrollados en clase y el otro desarrollado en el punto 1,
estos solo mostrarán el resultado del algoritmo de manera impresa, por lo
que no es necesario contar con parámetros de salida para las funciones de
ordenamiento. Se sugiere también que internamente, en la implementación
agregar una función de “verificación”, esto es con la finalidad de que el
desarrollo de su algoritmo y los que se desarrollaron en clase estén
funcionado correctamente, por lo que la función verificará si el algoritmo de
ordenamiento implementado funciona correctamente y debe mostrarlo en
pantalla con un mensaje, ej. “Ordenó correctamente”.

3. Agregar una función llamada “evaluación” que estará disponible para los
usuarios del ADT, por lo que debe investigar cómo medir el tiempo de
ejecución de un programa en c y que muestre en unidades (Segundos,
minutos, etc.) el desempeño de algún programa o función. Esto con la
finalidad de tener una métrica de evaluación de los algoritmos, por lo que la
función “evaluar”, tendrá como parámetros de entrada la selección del
algoritmo de evaluación y el vector, y en pantalla se mostrará el tiempo de
ejecución.

Nota: En esta parte pongan cuidado ya que solo se tiene que evaluar la parte
del ordenamiento, por lo que no consideré la impresión o la parte de la función
de “verificación”. Por otro lado, la función de evaluación tiene dos parámetros
de entrada (algoritmo, vector) y pudiera no tener parámetros de salida ya que
solo imprimirá, si usted desea puede tener solo de parámetro de entrada el
vector y que muestre el resultado en tiempo de los 3 algoritmos para que sea
más rápida la evaluación.

Resultados:
Especificaciones del sistema:
❖ Processor: AMD Ryzen 3200 (4 CPUs), ~3.5GHz
❖ Memory: 16384MB RAM
❖ Disk Type: SSD

Complejidad Tiempo de ejecución

¿Func
Algoritmo ionó
Mejor caso Caso promedio Peor caso 50 100 1,000 5,000 10,000 correc
tamen
te?

0.035 s 0.08 s 0.918 s 4.252 s 5.39 s


Shell Ω(n²) o(n²) O(n²)

0.004 s 0.007 s 0.069 s 0.42 s 0.88 s


Insertion Ω(n) o(n²) O(n²/2)

0.058 s 0.108 s 1.124 s 4.979 s 5.769 s


Bubble Ω(n²) o(n²) O(i(n))

Conclusiones:

La observación, deducción y aplicación de los diferentes métodos de


ordenamiento nos hizo entender la complejidad y connotación que cada uno de
ellos conlleva desde la aplicación en valores mínimos a una aplicación en ya
variables extensas.
Con esto dando a denotar la importancia de aplicar la idea que los algoritmos
tendrán distinta complejidad de acuerdo con el caso que este infiera.

También podría gustarte