



Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Los mejores documentos en venta realizados por estudiantes que han terminado sus estudios
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Descubre las mejores universidades de tu país según los usuarios de Docsity
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
PROGRAMACIÓN Y ORDENAMIENTO DE BUSQUEDA
Tipo: Resúmenes
1 / 6
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!
Responde las siguientes preguntas
b) Shell Sort: Este método lleva el nombre de su inventor, Donald Shell. El algoritmo consiste en comparar los elementos de un arreglo, realizando intervalos entre ellos, los intervalos dependen de la longitud del arreglo. En otras palabras, el arreglo se divide en bloques o intervalos. Los intervalos se van comparando entre si y se intercambian los valores de las posiciones hasta que queden ordenados. Cada que el proceso se repite, los intervalos son más pequeños. Para elegir la longitud del intervalo, generalmente se utiliza la formula n/2, donde n es el número de elementos. En la siguiente imagen se ejemplifica de manera visual cómo funciona el método: Primero, se determina el intervalo n/2. Donde n=6, por lo tanto, el intervalo es 3. Se denota, entonces, que tenemos dos intervalos de 3 elementos. En la imagen, los intervalos están delimitados por la línea roja. Para la primera iteración, vamos a comparar los elementos del 1er intervalo, con los elementos del 2do intervalo: {3,2}, {8,1} y {0,4}. Es decir, se compara el valor 3 con el 2, como 2 es menor que 3, se cambian de posición. También se compara el 8 con el 1, como 1 es menor que 8, también cambian de posición. En el 3er caso, se compara 0 con 4 y como 4 no es menor que 0, permanecen en su posición. Para la siguiente iteración, se determina el nuevo intervalo n/2. Donde n=3, por lo tanto, el intervalo nuevo es 1.5 que se redondea a 1. Se comparan los elementos de los nuevos intervalos: {2,1}, {1,3}, {3,8} y {0,4}. Después de esta segunda iteración, el arreglo queda: {1,2,0,3,8,4}. Como el ultimo intervalo calculado es 1 y ese es el mínimo que se puede tener, se continua con ese intervalo hasta que ya no haya ningún intercambio de posición. Cuando se realiza un recorrido y no se encuentra ningún cambio de posición, se concluye que se ha terminado el proceso de ordenamiento. c) Radix Sort: Es un algoritmo que ordena los números procesándolos de forma individual, es decir, por dígitos (empezando por el menos significativo), sin importar cuantas cifras o dígitos tengan los números. Como el algoritmo procesa digito a digito, este no se delimita a números enteros, sino también a decimales (de tipo flotante). Para comprender mejor el método de Radix, se ordenará de forma visual un arreglo {11,34,90,30,37,82}.
{17,93}. Sigue la comparación entre los elementos de esos arreglos, concluyendo la primera mitad como {17,26,54,93}. Se realiza el mismo proceso con la mitad restante. Tomando en cuenta que el arreglo {44} no tiene con quien compararse, el arreglo se copiara para continuar con el proceso. En el siguiente paso. Este método de ordenamiento, es de los mas eficientes, pero como utiliza funciones recursivas, el consumo de memoria RAM puede ser alto, ya que es proporcional a la cantidad de elementos a ordenar e) Quick Sort: Al igual que el caso anterior, es un algoritmo recursivo. Fue creado por Tony Hoare. Su funcionamiento se basa en elegir a un elemento del arreglo a ordenar, este será el pivote. Posteriormente se van a organizar todos los elementos del arreglo, de tal forma que de un lado queden todos los elementos menores a él y del otro lado, todos los elementos mayores que él. En ese momento, el pivote ocupa exactamente el lugar que le corresponde (aun sin importar si los elementos que están antes o después del él, están ordenados o no). Dicho lo anterior, se entiende que se crearon dos sublistas, una de cada lado. Este proceso se repite de forma recursiva hasta que todos los elementos queden ordenados. Cabe resaltar que se elige un nuevo pivote en casa sublista. La siguiente imagen representa de manera visual le funcionamiento del algoritmo. En el primer proceso se eligió como pivote a {3}. Se colocó en la primera sublista los valores menores a 3 y el la 2da sublista, los mayores a 3. Se repite el proceso con las nuevas sublistas que se crearon.
La complejidad de los algoritmos de ordenamiento antes mencionados es la siguiente: Algoritmo de ordenamiento Complejidad BubbleSort O(n²) Shell Sort O(n1.25) Radix Sort O(nk) Merge Sort O( n^ log^ n ) Quick Sort Promedio: O(n log n), peor caso: O(n²)