Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tarea Consulta Algoritmos (Edgar Casco, Jose Cueva)
Tarea Consulta Algoritmos (Edgar Casco, Jose Cueva)
shell(1)
El ordenamiento Shell, denomino así por su desarrollador Donald Shell (1959), ordena
una estructura de una manera similar a la del Bubble Sort, sin embargo no ordena
elementos adyacentes sino que utiliza una segmentación entre los datos. Esta
segmentación puede ser en cualquier tamaño de acuerdo a una secuencia de valores
que empiezan con un valor grande y van disminuyendo hasta llegar al '1'.
Después de que los primeros K subgrupos han sido ordenados (generalmente se utiliza
inserción directa), se escoge un nuevo valor de K más pequeño, y el arreglo es de
nuevo partido entre el nuevo conjunto de subgrupos. Cada uno de los subgrupos
mayores es ordenado y el proceso se repite de nuevo con un valor más pequeño de K.
selección(2)
Éste método de ordenamiento se basa en la siguiente idea:
Paso 1.1: Buscar el mayor de todos los elementos de la lista.
Lista = | 3 | 2 | -1 | 5 | 0 | 2 |
Encuentra el valor 5 en la posición 3.
Paso 1.2: Poner el mayor al final (intercambiar el que está en la última posición de la
lista con el mayor encontrado).
Intercambia el elemento de la posición 3 con el de la posición 5. En la última posición
de la lista está el mayor de todos.
Lista = | 3 | 2 | -1 | 2 | 0 | 5 |
Paso 2.1: Buscar el mayor de todos los elementos del segmento de la lista entre la pri-
mera y la anteúltima posición.
Lista = | 3 | 2 | -1 | 2 | 0 | 5 |
Encuentra el valor 3 en la posición 0.
Paso 2.2: Poner el mayor al final del segmento (intercambiar el que está en la última
posición del segmento, o sea anteúltima posición de la lista, con el mayor encontrado).
Lista = | 0 | 2 | -1 | 2 | 3 | 5 |
Intercambia el elemento de la posición 0 con el valor de la posición 4. En la anteúltima
y última posición de la lista están los dos mayores en su posición definitiva.
Paso n: Se termina cuando queda un único elemento sin tratar: el que está en la pri-
mera posición de la lista, y que es el menor de todos porque todos los mayores fueron
reubicados.
Lista = | -1 | 0 | 2 | 2 | 3 | 5 |
ordenación rápida(4)
QuickSort es un algoritmo basado en el principio “divide y vencerás”. Es una de los al-
goritmos más rápidos conocidos para ordenar. Este método es recursivo aunque exis-
ten versiones con formas iterativas que lo hacen aún más rápido. Su funcionamiento es
de la siguiente manera:
inserción(5)
El ordenamiento por inserción es una manera muy natural de ordenar para un ser hu-
mano, y puede usarse fácilmente para ordenar un mazo de cartas numeradas en forma
arbitraria.
Insercion(A,N)
El algoritmo ordena los elementos del arreglo utlizando el método de inserción directa
A es un arreglo de N elementos
donde I, aux y k son variables de tipo entero
1.- Repetir con I desde 2 hasta N Hacer aux<- A[I] y k<- I-1
a. Repetir mientras(aux < [k]) y (k > 1) , Hacer A[k+1]<- A[k] y k<-- k-1
b. {fin del ciclo del paso 1.1}
c. Si a[k]<=aux Entonces: Hacer A[k+1]<-aux
Si no Hacer A[k+1]<- A[k], A[k]<-A[k]
d. { fin del condicional del paso 1.3}
2. {fin del condicional del paso1} ^
Estabilidad: Este algoritmo nunca intercambia registros con claves iguales. Por
lo tanto es estable.
Requerimientos de Memoria: Una variable adicional para realizar los intercam-
bios.
Tiempo de Ejecución: Para una lista de n elementos el ciclo externo se ejecuta
n-1 veces. El ciclo interno se ejecuta como máximo una vez en la primera itera-
ción, 2 veces en la segunda, 3 veces en la tercera, etc. Esto produce una com-
plejidad O(n2).
Ventajas:
Fácil implementación.
Requerimientos mínimos de memoria.
Desventajas:
Lento.
Realiza numerosas comparaciones.
Este también es un algoritmo lento, pero puede ser de utilidad para listas que están or-
denadas o semiordenadas, porque en ese caso realiza muy pocos desplazamientos.
radixsort (6)
http://algoritmobasico.blogspot.com/2015/11/metodo-de-ordenamiento-
shell.html
http://librosweb.es/libro/algoritmos_python/capitulo_19/ordena-
miento_por_seleccion.html
https://es.wikipedia.org/wiki/Ordenamiento_por_mezcla
https://tutospoo.jimdo.com/tutoriales-java/m%C3%A9todos-de-orde-
naci%C3%B3n/ordenaci%C3%B3n-r%C3%A1pida-quicksort/
http://lwh.free.fr/pages/algo/tri/tri_insertion_es.html
https://www.ecured.cu/Ordenamiento_por_Inserci%C3%B3n
http://c.conclase.net/orden/?cap=insercion
https://arq232.wordpress.com/2012/08/30/algoritmo-de-ordenamiento-radix-
sort/