Está en la página 1de 12

INSTITUTO TECNÒLOGICO DE CHINÀ.

Unidad 3º

Profesor: Panti Salvador Sergio Antonio

Estructura de datos

Ingeniería en informática.

Alumno: Carlos Daniel Francisco Botón

Numero de control: 19830248

Semestre: 3º Grupo: “IAI”

11 de octubre del 2020

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

Procedimiento de intersección ( i, aux, izq, der, m y j de tipo entero) n de elemtos


Repetir con i desde 2 hasta n
Hacer aux  a [ i ], izq  1 y der  i – 1
Mientras (izq <= der) repetir
Hacer m  parte entera(izq + der entre 2
Si ( aux <= a[m]
Entonces
Hecer der  m -1
Si no
Hecer der  m -1
Fin de si
Fin de mientras
Hecer j  I – 1
Mientras (j >= izq) repetir
Hecer a[j+1]  a[ j ] y j  j – 1
Fin de mientras
Hecer a [izq]  aux
Fin de repetir
SELECCION DIRECTA
El método de ordenación por selección directa es más eficiente que los métodos analizados. Su
comportamiento es mejor que aquellos y su programación es facil y comprensible. Este método va
seleccionando los números menores o el número más pequeño de la lista, los intercambia por el
primero, así sucesiva mente va intercambiándolo y acomodándolos primero así dejando la lista de
menor a mayor

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.

-Como algoritmo de ordenamiento no hay almacenamiento adicional

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

Repetir con i desde 1 hasta n -1

Hecer menor  a[ i ] y k  j

Repetir con j desde i + 1 hasta n

Si (a [ j ] < menor) entonces

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

hacer izq  2 der  n y k  n


mientras (der >= izq) repetir
repetir con i desde der hasta izq {ciclo descendente}
si (a [i-1] > a [i]) entonces
hecer aux  a [i – 1], a [i – 1]  a [i], a [i]  aux y k  i
fin de si
fin de mientras
hacer izq  k + 1
repetir con i desde izq hasta der {ciclo asendente}
si (a [i -1] > a [i]) entonces
heceraux  a [i – 1], a [i – 1]  a [i], a [i]  aux u k  i
fin de si
fin de repetir
hacer der  k -1
fin de hece
conclusión
los metodos de ordenamiento, como ya sabemos sirven para ordenar los datos pero de diferente
manera, ya que cada uno especifica como seria su ejecución y cual de esos estaría mas adecuado
dependiendo del trabajo que se requiere ejercer, no todos tienes ventajas buenas para tener un
resultado excelente ya que cada uno de esos tiene desventajas no tan deslumbrantes, pero si
afectan a cada uno
BIBLIOGRAFIA
Libro de estructura de datos, tercera edición, Osvaldo Cario S.G pag 321-385

También podría gustarte