Skip to content

Mini-Proyectos/laboratorio2-neil-pedrosamuel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CI2692

Laboratorio2

Merge sort

Resumen

El objetivo de este laboratorio es implementar el algoritmo de ordenamiento Merge Sort, y evaluar su comportamiento.

Actividades

  1. Implemente el algoritmo de Merge Sort, siguiendo el pseudo-código de las láminas de la clase de teoría (https://bonetblai.github.io/courses/ci2612/handouts/ci2612-lec03.pdf).

Dicha implementación debe realizarse en una función dentro del archivo Sorts.py; y debe cumplir con la firma: MergeSort(A, p, r), donde A es el arreglo a ser ordenado, p es el índice inferior de la sección del arreglo a ser ordenado y res el índice superior de dicho arreglo.

Mueva su implementación de ordenamiento por inserción al archivo Busquedas.py. La misma deberá denominarse InsertionSort(A, p, r) donde A es el arreglo a ser ordenado, p es el índice inferior de la sección del arreglo a ser ordenado y r es el índice superior de dicho arreglo.

  1. Implemente un programa de prueba denominado "TestSorts.py".

Este programa debe ejecutarse con el siguiente comando:

python3 TestSorts.py nombre_algoritmo n_elementos

nombre\_algoritmo está en el conjunto: {"InsertionSort", "MergeSort"}

Un ejemplo de llamada al programa de prueba:

python3 TestSorts.py InsertionSort 100

La salida de este programa deberá imprimir por pantalla el nombre del algoritmo, el número de elementos y el tiempo en milisegundos que empleó el programa para ordenar un arreglo de n_elementos. Un ejemplo de salida es:

InsertionSort 100 1.9629726409912109

En el archivo TestTime.py pueden encontar un ejemplo del uso de la funcion time() para calcular el tiempo de ejecución de una función o bloque de código.

Dentro del programa se deberá crear un arreglo "desordenado" de n elementos, en cada llamada este arreglo debe ser diferente.

About

laboratorio2-neil-pedrosamuel created by GitHub Classroom

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages