Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Unidad 3º
Estructura de datos
Ingeniería en informática.
Ingeniería en informática
Introducción
En este tema se dara a conocer cuales son los metodos de ordenamiento, estos metodos
de ordenamiento nos permite, como su nombre lo dice, ordenar información de una
manera especial basándonos en un criterio de ordenamiento. Asi con la facilidad de que
una computadora pueda hacer su trabajo, ya que al estar ordenado se le hace mas facil y
rapido hacer las ejecuciones de trabajos.
Metodos burbuja
es un sencillo algoritmo de ordenamiento. Funciona revisando cada elemento de la lista que va a
ser ordenada con el siguiente, intercambiándolos de posición si están en el orden equivocado. Es
necesario revisar varias veces toda la lista hasta que no se necesiten más intercambios, lo cual
significa que la lista está ordenada.
CARACTERISTICAS
Es necesario revisar varias veces toda la lista hasta que no se necesiten más intercambios, lo cual
significa que la lista está ordenada.
VENTAJAS
-Eficaz
-Sencillo
-Código reducido para realiza el ordenamiento
DESVENTAJAS
-Consume bastante tiempo de computadora
-Requiere muchas lecturas/escrituras en memoria
USOS
Compara elementos adyacentes e intercambiarlos entre si hasta que todos se encuentran
ordenados
PSEUDOCODIGO
Procedimiento de la burbuja (a0, a1, a2, …., a(n-1) son variables de tipo entero) n de elementos
Para i 1 hasta n --- 1 hacer
Para j 0 hasta n --- i --- 1 hacer
Si a ( j ) > a ( j+1 ) entonces
Aux a ( j )
a(j)a(j+1)
a( j+1 ) aux
fin si
fin para
fin para
fin Procedimiento
INSERCCION DIRECTA
El método de ordenación por inserción directa es el que generalmente utilizan los jugadores de
cartas cuando ordenan estas, de ahí que también se conozca con el nombre de métodos de la
baraja
CARACATERISTICAS
Es necesario revisar varias veces toda la lista hasta que no se necesiten más intercambios, lo cual
significa que la lista está ordenada.
VENTAJAS
-Eficaz
-Sencillo
-Código reducido para realiza el ordenamiento
DESVENTAJAS
-Es deficiente en grandes listas
-En algunos casos es lento
-No funciona también con otros algoritmos de ordenamiento.
USOS
El algoritmo funciona retirando un elemento de la lista de elementos y volviéndolo a poner en la
lista pero esta vez en su posición correcta con respecto a una lista que ya se encuentra ordenada.
PSEUDOCODIGO
CARACTERISRICAS
La idea básica de este algoritmo consiste en buscar el menor elemento del arreglo y colocarlo en la
primera posición. Se recomienda usarlo cuando el numero de arreglo es mediano a grande
VENTAJAS
-Funciona bien en con listas pequeñas.
DESVENTAJAS
Tiene poca eficiencia para una enorme lista de datos
PSEUDOCODIGO
Procedimiento de selección (i, menor, k y j son variables de tipo entero) n de elementos
Hecer menor a[ i ] y k j
Hecer menor a[ j ] y k j
Fin de si
Fin de repetir
Hecer a[ k ] a [ i ] menor
Fin de repetir
SHELL SORT
Es un algoritmo de ordenamiento el cual, de una lista o vector de datos los ordena; al estar
leyendo la lista utiliza un solo tipo de comparación abstracta y de esta manera determina que
elemento de la lista va primero
CARACTERISTICAS
Es un algoritmo de ordenación interna, esto quiere decir que los datos son alojados en memoria
principal.
VENTAJAS
Es un algoritmo muy simple teniendo un tiempo de ejecución aceptable. Es uno de los algoritmos
más rápidos.
No requiere memoria adicional.
Fácil implementación.
DESVENTAJAS
Su complejidad es difícil de calcular y depende mucho de la secuencia de incrementos que utilice.
Shell Sort es un algoritmo no estable porque se puede perder el orden relativo inicial con facilidad.
USOS
mejora el ordenamiento por inserción comparando elementos separados por un espacio de varias
posiciones
PSEUDOCODIGO
procedimiento de Shell (int, i y aux son de tipo entero. Band en una variable de tipo booleano) n
de elementos
hacer int n + 1
mientras (int > 1) repetir
hacer int (int/2) y band verdadero
mientras (band = verdadero) repetir
hacer band falso e i 1
mientras ((i + int) <= n) entonces
si a[i] > a [ i + int] entonces
hacer Aux a[i], a[i] a [i + int], a [I+ int] Aux y band verdadero
fin de si
hacer i i + 1
fin de mientras
fin de mientras
fin de mientras
MERGE SORT
El método MergeSort es un algoritmo de ordenación recursivo con un número de comparaciones
entre elementos del array mínimo. Su funcionamiento es similar al Quicksort, y está basado en la
técnica divide y vencerás.
CARACTERÍSTICAS
Es un algoritmo de ordenación interna, esto quiere decir que los datos son alojados en memoria
principal.
VENTAJAS
Es algoritmo efectivo para conjuntos de datos que se puedan acceder como arreglos, vectores y
listas ligadas.
DESVENTAJAS
Su principal desventaja radica es que está definido recursivamente y su implementación no
recursiva emplea una pila, por lo que requiere un espacio adicional de memoria para almacenar.
USOS
los algoritmos de ordenación por mezcla es dividir la matriz por la mitad una y otra vez hasta que
cada pieza tenga solo un elemento de longitud.
PSEUDECODIGO
MergeSort (T [ ] a, entero n)
{
si ( n>1) entonces
{
a1= a[0...n/2 -1] ; // Primera mitad
a2= a[n/2...n-1] ; // Segunda mitad
MergeSort(a1, n/2);
MergeSort(a2, n – n/2);
Merge(a1,a2,a, n);
}
}
Merge(T [ ] a1,T [ ] a2, T [ ] a, entero n)
{
entero i, j, k;
i = j = k =0;
mientras(i < n/2 && j < n - n/2)
{
si(a1[i] < a2[j]) entonces
{
b[k] = a1 [i];
i++; k++;
}
sino
{
b[k] = a2[j];
j++; k++;
}
}
mientras(i < n/2)
{
b[k] = a1 [i];
i++; k++;
}
mientras(j < n-n/2)
{
b[k] = a2 [j];
j++; k++;
}
}
HEAP SORT
Este algoritmo consiste en almacenar todos los elementos del vector a ordenar en un montículo
(heap), y luego extraer el nodo que queda como nodo raíz del montículo (cima) en sucesivas
iteraciones obteniendo el conjunto ordenado
CARACTERÍSTICAS
Es un algoritmo que se construye utilizando las propiedades de los montículos binarios. El orden
de ejecución para el peor caso es O(N·log(N)), siendo N el tamaño de la entrada
VENTAJAS
-Funciona efectivamente con datos desordenados.
-Su desempeño es en promedio tan bueno como el Quicksort.
-No utiliza memoria adicional.
DESVENTAJAS
-No es estable.
-Método complejo
USOS
Este algoritmo consiste en almacenar todos los elementos en un montículo y luego extraer el nodo
que queda como raíz en iteraciones sucesivas obteniendo el conjunto ordenado
PSEUDOCODIGO
Procedimiento de Merge sort (i, k y aux son variables de tipo entero. Band de tipo boolean) n de
elementos
Repetir con i desde 2 hasta n
Hacer k i y band verdadero
Mientras ((K > i) y (band = verdadero)) repetir
Hacer band falso
Si (a[k] > a [parte entera (k entre 2))] entonces
Hecer aux a [parte entera (k entre 2)],
a [parte entera (k entre 2)] a [k], a [k] aux,
k parte entera (k entre 2) y band verdadero
fin de si
fin de mientras
fin de repetir
SHAKERS SORT
Es una optimización del ordenamiento para el intercambio directo , Se trasladan los elementos mas
pequeños hacia la parte izquierda del arreglo, almacenando en una variable la posición del último
elemento intercambiado luego se trasladan los elementos más grandes hacia la parte derecha del
arreglo, almacenando en otra variable la posición del último elemento intercambiado.
CARACTERÍSTICAS
En este algoritmo cada pasada tiene dos etapas. En la primera etapa, de derecha a izquierda, se
trasladan los elementos más pequeños hacia la izquierda del arreglo, almacenado en una variable
la posición del último elemento intercambiado
VENTAJAS
Fácil implementación
Reduce considerablemente el número de comparación
Se va directamente al elemento que falta ordenar
DESVENTAJAS
Muy lento
Realiza numerosas comparaciones
Realiza numerosos intercambios
USOS
Es un algoritmo de ordenamiento que surge como una mejora del algoritmo ordenamiento de
burbuja
PSEUDOCODIGO
procedimiento de sherk sort (i, izq, der, k y aux son de tipo entero) nde elementos