Upload
michael
View
97
Download
0
Embed Size (px)
Citation preview
Insertion Sort. El ordenamiento por inserción es similar a la idea de tener una baraja de cartas y a estas ordenarlas de manera ascendente de menor a mayor. Método de trabajo:
Seleccionar - Comparar - Cambiar - Insertar
Insertion Sort
Ventajas Desventajas• Simple. • Es deficiente en grandes listas.
• Fácil de usar. • En algunos casos es lento.
• Requerimiento mínimo de memoria. • Realiza numerosas comparaciones.
• Eficiente en listas pequeñas. • No funciona tan bien como otros algoritmos de ordenamiento.
Ordenamiento por inserción.¿Como funciona?
Este método funciona de la siguiente manera, toma cada elemento del arreglo y lo compara con elementos que se encuentran en posiciones anteriores. Si resulta que el elemento con el que se
está comparando es mayor que el elemento a ordenar, estos se intercambian de posición. Si por el contrario, resulta que el elemento con el que se está comparando es menor que el elemento a
ordenar, se detiene el proceso de comparación pues, se encontró que el elemento ya está ordenado y se coloca en su posición . A continuación, ejemplo de una lista de 10 elemento.
20 - 4 - 8 - 11 - 23 - 3 - 5 - 2 - 7 - 14
Ejemplo.1° paso: En un método de ordenamiento por inserción, la comparación se hará desde el segundo
elemento de la lista al cual llamaremos i, a continuación se verificara que i sea menor a su antecesor, de ser verdad esta afirmación, i se intercambiara con su antecesor; de lo contrario, si la
afirmación es falsa, el 2° elemento no se moverá si no que tomara la posición de su sucesor, sabiendo que el 2° elemento ya esta ordenado.
Quedando de esta manera:
20 - 4 - 8 - 11 - 23 - 3 - 5 - 2 - 7 - 14
iAntecesor
4 - 20- 8 - 11 - 23 - 3 - 5 - 2 - 7 - 14
Sucesor
Ejemplo.2° paso: i tomará la posición de 8, y este se comparara con 20, 8 < 20 es verdadero, se intercambian
entre si.
Quedando de esta manera:
A continuación se compara 8 < 4 es falso, 8 no se moverá por que este se encuentra ordenado.
4 - 20 - 8 - 11 - 23 - 3 - 5 - 2 - 7 - 14
Anterior i
4 - 8 - 20 - 11 - 23 - 3 - 5 - 2 - 7 - 14
Ejemplo.3° paso: i tomará la posición de 11, y se comparara 11 < 20 es verdadero, se intercambiara entre si.
Quedando de esta manera:
A continuación se comparara 11 < 8 & 11 < 4, lo cual es falso y 11 no se moverá dado que ya se encuentra ordenado.
4 - 8 - 20 - 11 - 23 - 3 - 5 - 2 - 7 - 14
i
4 - 8 - 11 - 20 - 23 - 3 - 5 - 2 - 7 - 14
Ejemplo.4° paso: i tomará la posición de 23, y se comparara 23 < 20 es falso, no se moverá por que ya se
encuentra en orden.
5° paso: i tomará la posición de 3, y se comparara 3 < 23 & 3 < 20… hasta llegar a 3 < 4, todas estas comparaciones van a ser verdaderas y se intercambiaran entre si, quedando el 3 en la primera
posición.
A continuación quedara de la siguiente forma:
4 - 8 - 11 - 20 - 23 - 3 - 5 - 2 - 7 - 14
4 - 8 - 11 - 20 - 23 - 3 - 5 - 2 - 7 - 14
i
3 - 4 - 8 - 11 - 20 - 23 - 5 - 2 - 7 - 14
Ejemplo.6° paso: i tomará la posición de 5, y se comparara 5 < 23 & 5 < 20… hasta llegar a 5 < 8, todas estas
afirmaciones serán verdaderas.
Una vez llegue a 5 < 4 esto va a ser falso, por lo tanto 5 quedara antes de 8 y después de 4, quedando de esta manera:
3 - 4 - 8 - 11 - 20 - 23 - 5 - 2 - 7 - 14
i
3 - 4 - 5 - 8 - 11 - 20 - 23 - 2 - 7 - 14
Ejemplo.7° paso: i tomará la posición de 2, este se comparara, 2 < 23 & 2 < 20… hasta llegar a 2 < 3, todas
estas afirmaciones serán verdaderas, y 2 quedara en la primera posición.
De esta forma:
i
3 - 4 - 5 - 8 - 11 - 20 - 23 - 2 - 7 - 14
2 - 3 - 4 - 5 - 8 - 11 - 20 - 23 - 7 - 14
Ejemplo.8° paso: i tomará la posición de 7, este se comparara 7 < 23 & 7 < 20… hasta llegar a 7 < 8, todas
estas afirmaciones serán verdaderas, 7 < 5 es falso por lo tanto 7 quedara antes de 8 y después de 5.
Quedando de esta manera:
i
2 - 3 - 4 - 5 - 8 - 11 - 20 - 23 - 7 - 14
2 - 3 - 4 - 5 - 7 - 8 - 11 - 20 - 23 - 14
Ejemplo.9° paso: i tomará la posición de 14, este se comparara 14 < 23 & 14 < 20, estas afirmaciones serán
verdaderas, 14 < 11 es falso por lo tanto 14 quedara antes de 20 y después de 11.
Quedando de esta manera:
i
2 - 3 - 4 - 5 - 7 - 8 - 11 - 20 - 23 - 14
2 - 3 - 4 - 5 - 7 - 8 - 11 - 14 - 20 - 23
Hashing
¿Cómo funciona? Es un método de búsqueda que consiste en aplicar una función que traduce un conjunto de posibles valores (llave) en un rango de direcciones relativas en una
estructura de datos dinámica o estática.
HashingVentajas Desventajas
• Se puede usar valor naturales de la llave, puesto que se traducen internamente a direcciones fáciles de localizar
• No puede usar registros de longitud variable
• Se logra independencia lógica y física, debido a que los valores de las llaves son independientes del espacio de direcciones
• El archivo no está clasificado
• No se requiere almacenamiento adicional para los índices
• No permite llaves repetidas
• Solo permite acceso por una llave