0 calificaciones0% encontró este documento útil (0 votos)
10 vistas1 página
Este documento solicita analizar tres algoritmos de ordenamiento de arreglos (selección, inserción y burbuja) incluyendo un análisis de complejidad temporal y una demostración de corrección para cada uno. También pide implementar visualmente uno de los algoritmos en Python para mostrar el proceso de ordenamiento.
Este documento solicita analizar tres algoritmos de ordenamiento de arreglos (selección, inserción y burbuja) incluyendo un análisis de complejidad temporal y una demostración de corrección para cada uno. También pide implementar visualmente uno de los algoritmos en Python para mostrar el proceso de ordenamiento.
Este documento solicita analizar tres algoritmos de ordenamiento de arreglos (selección, inserción y burbuja) incluyendo un análisis de complejidad temporal y una demostración de corrección para cada uno. También pide implementar visualmente uno de los algoritmos en Python para mostrar el proceso de ordenamiento.
Estudiar los algoritmos de ordenamiento de un arreglo lineal (una lista)
de objetos. En particular, pensaremos estos objetos como enteros. Deben realizar una análisis de cada uno de los tres algoritmos, y esto debe in- cluir un análisis de la complejidad temporal usando como operaciones elementales (es decir, las operaciones que se cuentan para definir T (n)) comparaciones entre dos elementos, y también encontrar la complejidad temporal cuando la operación elemental son el número de asignaciones en variables realizadas por el algoritmo. Adicionalmente, se debe incluir para cada algoritmo una demostración de que el algoritmo es correcto. Es decir, debe definir, según lo que se ha he- cho en el notebook de InvarianteBucles, precondición, invariante, guarda, función cota y postcondición, y verificar que la ejecución del código real- mente ordena el arreglo dado por entrada. Recuerde que se debe verificar: • La precondición implica el invariante • La ejecución de un ciclo, mantiene el invariante • Si antes de la ejecución del ciclo se cumplen el invariante y el guarda, entonces el ciclo termina y cuando lo hace se cumple el invariante. • Al terminar, se debe poder deducir la postcondición. Haga uso de alguno de los teoremas en el notebook, para poder realizar la demostración. Finalmente, use lo aprendido en la Tarea 2, para realizar una rutina en python, que le permita visualizar el funcionamiento de cada uno de los tres algoritmos. Muestre una lista de objetos, pueden ser figuras geométricas de algún tipo, que se puedan ordenar según tamaño digamos, la idea es que se vaya visualizando el objeto señalado por el primer ı́ndice, el objeto señalado por el segundo ı́ndice, y se muestren el cambio de posición de los objetos gradualmente, es decir, cada intercambio debe ser representado. Coloco acá un link con un ejemplo, de lo que se quiere ver más o menos: https://visualgo.net/en/sorting No se preocupen por todos los detalles, sólo que haga lo que se pide. Ir ordenando los elementos, y mostrar los señalados en cada momento. Esta tarea tiene un valor del 20% de la nota final, al igual que la tarea anterior.