Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Fundamental 3-Algoritmos de Ordenamiento

Descargar como pptx, pdf o txt
Descargar como pptx, pdf o txt
Está en la página 1de 34

<!

--Algoritmos Computaciónales-->

Fase 3: Realizar una presentación de un


algoritomo de ordenamiento {

<Por="Roberto Carlos Lozano Páez Matricula: 2222950


Carrera: ITS Grupo: 005
Materia: Algoritmos Computacionales
Dr. Selene Guadalupe Pinal Gómez
Hora Clase: V3-V4 1:40 pm - 2:30 pm Salon: 3302
"/>

}
01 Algortmos de ordenamiento
02 Clasificación
03 Ordenación por cambio directo / ordenación burbuja
04 Ordenación por el metodo de intercambio directo por señal
05 Ordenación por inserción binaria
06 Ordenación por selección directa
Indice 07 Analisis de eficiencia de los metodos directos
08 Ordenación por el metodo shell
09 Metodo de ordenación quicksort
10 Arbol binario
11 HEAD
12 HEAD SORT
13 Algoritmo logico
Algoritmos de Ordenamiento significa
ordenamiento { reagrupar o reorganizar un
conjunto de datos u objetos en
una secuencia especifica.
Ordenamiento significa
reagrupar o reorganizar un
conjunto de datos u objetos en
una secuencia especifica.

Ordenamiento significa
reagrupar o reorganizar un
conjunto de datos u objetos en
una secuencia especifica.

}
Clasificación {

Internos
Externos
Se encuentran en la memoria principal de
la computadora, por lo que se asume que Son aquellos en los que los valores a
el tiempo que se requiere para acceder ordenar están en memoria secundaria
cualquier elemento sea el mismo​ (disco, cinta, cilindro magnético, etc.), por
lo que se asume que el tiempo que se
requiere para acceder a cualquier
elemento depende de la última posición
accesada.
Metodos Metodos
directos logaritmicos

n2 n*logn }
Ordenación por cambio directo / ordenación
burbuja {

Trabaja de dos maneras


diferente, llevando elementos
mas pequeños hacia la parte
izquierda del arreglo o
trasladando los elementos mas
grandes hacia su parte derecha

}
Ordenación por cambio directo / ordenación
burbuja {

}
Ordenación por el método de intercambio
directo por señal {

La idea central de este algoritmo


consiste en utilizar una marca o
señal para indicar que no se ha
producido ningún intercambio en
una pasada.

Se comprueba si el arreglo esta


totalmente ordenado después
de cada pasada, terminando su
ejecución en caso afirmativo.
}
Ordenación por el metodo de intercambio
directo por señal {

}
Ordenación por el metodo de intercambio
directo por señal {

}
Ordenación por el metodo de intercambio
directo por señal {

}
Ordenación por inserción
binaria {
Éste método es una mejora del método de
inserción directa. La mejora consiste en
realizar una búsqueda binaria en lugar de
una búsqueda secuencial para insertar un
elemento en la parte izquierda del arreglo
que se encuentra ordenado.

El proceso se repite desde el segundo hasta


el n-ésimo elemento. Se efectúa el menor
número de comparaciones cuando el arreglo
está desordenado y el máximo cuando está
ordenado.

}
Ordenación por selección
directa {

Éste método es el más eficiente que


los métodos anteriores. Aunque su
programación es fácil y
comprensible, no se recomienda
utilizarlo cuando se trata de arreglos
medianos o grandes.

Consiste en buscar el menor


elemento y colocarlo en la primer
posición. Luego se busca el
segundo elemento más pequeño y
se coloca en la segunda posición.

}
Ordenación por selección
directa {

}
Análisis de eficiencia de los metodos directos
{

La tabla contiene formulas necesarias para obtener el numero de comparaciones y


movimientos para ordenar un arreglo con los tres métodos directos analizados. Las
columnas indican si los elementos del arreglo se encuentran en forma ordenada,
desordenada o en orden inverso.

}
Ejemplo de análisis de eficiencia de los
métodos directos {

}
Ejemplo de análisis de eficiencia de los
métodos directos {

}
Ordenación por el método shell {

El método de Shell es una versión mejorada


el método de inserción directa. Este método
también se conoce como inserción con
incrementos decrecientes.

}
Ejemplo de ordenación por el método
shell {

}
Método de orientación Quicksort {

• El mejor algoritmo de ordenación


conocido actualmente (el más
eficiente).​
• Basado en la técnica divide y
vencerás.​
• O(nlogn)

}
Ordenación por el método shell {

• Elegir un elemento de la lista de elementos a ordenar, al que llamaremos​pivot.​



• Resituar los demás elementos de la lista a cada lado del pivote, de manera que a un
lado queden todos los menores que él, y al otro los mayores. Los elementos iguales
al pivote pueden ser colocados tanto a su derecha como a su​izquierda,
dependiendo de la implementación deseada. En este momento, el pivote ocupa​
exactamente el lugar que le corresponderá en la lista ordenada.​

• La lista queda separada en dos sublistas, una formada por los elementos a la
izquierda del pivote, y otra por los elementos a su derecha.​
• ​
• Repetir este proceso de forma recursiva para cada sublista mientras éstas
contengan más de un elemento. Una vez terminado este proceso todos los
elementos estarán ordenados.​

Menores <--- Pivot ---> Mayores


}
Ventajas y desventajas {

Ventajas Desventajas
• Se complica su implementación si
• Es el método más rápido.​ no es posible la recursión.​
• Es fácil de implementar.​ • Un error en la implementación
• No requiere de espacio adicional puede pasar desapercibido
durante la ejecución.​ provocando mal rendimiento.​
• Requiere de pocos recursos en • Es inestable y sensible a la
comparación a otros métodos. elección del pivot.

}
Ejemplo sencillo de quicksort {

}
Arbol binario {
Conjunto finito de nodos el cual puede servacío o tener un par de árboles llamados izquierdo
y derecho. Cuando un nodo no tiene hijos se le llama hoja o nodo terminal.

Arbol Lleno Arbol Completo Arbol Degenerado


Es aquel que en todos los Es aquel que en todos los Es aquel que en todos los
nodos, solo tienen 2 o mas nodos, solo tienen 2 o mas nodos, solo tienen 2 o mas
ceros desendientes ceros desendientes ceros desendientes
}
Ejemplo sencillo de arbol binario {

}
¿Que es un HEAD? {

HEA
D
Este head o montículo es un árbol
binario donde todos padres son
mayores que sus hijos.
Este árbol binario tiene que ser
completo, es decir, que debe tener
todos sus niveles llenos, excepto el
último y en este último nivel todos los
hijos está a un mismo lado ( por
ejemplo a la izquierda).

}
¿Que es un HEAP SPRT? {

Es un algoritmo de ordenación basado en comparaciónes de elementos


que utilizan un HEAP para ordenarlos.
Tambien podmos decir que es un algoritmo de ordenamientono recursivo
no estable, con complejidad computaciónal.

}
¿Como funcióna HEAP SORT? {

Este algoritmo consiste en almacenar todos los elementos del


vector a ordenar en un montículo y luego extraer el nodo que
queda como raíz en sucesivas iteraciones obteniendo el conjunto
ordenado. basa su funcionamiento en una propiedad de los
montículos, por la cual, la cima siempre (depende de como se
defina) contendrá el mayor o menor elemento del montículo.

}
Ventajas y desventajas {

Ventajas Desventajas
• No es estable, ya que se
• La principal ventajaes que este comporta de manera ineficaz con
método funciona mas datos del mismo valor
efectivamente con datos • método mas complejo
desordenados.
• Su desempeño es en promedio
tanbueno como el Quick sorty se
comporta mejor que este último
en los peor escasos.
• No utiliza memoria adicional.

}
Caracteristeicas HEAP SORT{

No recursivo:
Porque no usa métodos que se llamen a sí mismos, sino que usa sucesivas
iteraciones para obtener el conjunto de nodos ordenados.
No estable
• Ya que se comporta de manera poco eficaz con datos del mismo valor.
Con complejidad O(n log n).
Funcionamiento:
• El árbol se llena de izquierda a derecha, lo que implica que si algún (os)
nodo
• (s) no está (n) en el mismo nivel que el resto, éste (os) estará (n) entonces
lo más a la izquierda posible del árbol.
• El orden de ejecución para el peor caso es O (N · log(N)).

}
Algoritmo Logico {

1.Se construye el montículo inicial a partir del arreglo original.


2.Se intercambia la raíz con el ultimo elemento del montículo.
3.El ultimo elemento queda ordenado.
4.El ultimo elemento se saca del montículo, no del arreglo.
5.Se restaura el montículo haciendo que el primer elemento baje a la
posición que le corresponde, si sus hijos son menores.
6.La raíz vuelve a ser el mayor del montículo.
7.Se repite el paso 2 hasta que quede un solo elemento en el
montículo.

}
Ejemplo HEAP SORT {

}
Conclusión {

Aprender sobre los distintos tipos de algoritmos de ordenamiento es fundamental para cualquier
persona interesada en ciencias de la computación, matemáticas aplicadas o ingeniería de software, y
tiene varios beneficios importantes:

• Comprensión de la eficiencia: Diferentes algoritmos de ordenamiento funcionan mejor en distintas


situaciones, dependiendo de factores como el tamaño del conjunto de datos, la estructura de los
datos (si ya están parcialmente ordenados, por ejemplo) y los recursos disponibles (memoria y
tiempo de procesamiento). Al entenderlos, puedes seleccionar el algoritmo más eficiente para
cada caso, optimizando el rendimiento de las aplicaciones.

• Optimización del uso de recursos: Los algoritmos tienen distintas complejidades de tiempo y
espacio. Saber cuándo usar un algoritmo de ordenamiento específico, como QuickSort o
MergeSort, puede reducir el tiempo de ejecución o el uso de memoria, lo cual es crítico en
aplicaciones que manejan grandes volúmenes de datos o tienen restricciones de hardware.

• Adaptabilidad y resolución de problemas: Aprender varios algoritmos te proporciona una "caja de


herramientas" para resolver problemas complejos. Algunos algoritmos de ordenamiento, como el
HeapSort o el Radix Sort, están diseñados para tipos específicos de datos o condiciones. Conocer
las características de cada uno facilita adaptar tus soluciones a diversos escenarios.

}
Referencias {

Ordenación. (22 de Abril de 2013). Ordenación. Obtenido de Ordenación:


https://ordenacionsenal.blogspot.com/2013/04/

Swhosting. (23 de Junio de 2023). Swhosting. Obtenido de Swhosting:


https://acortar.link/Ex4Poq

Wikipedia. (29 de Agosto de 2024). Wikipedia. Obtenido de Wikipedia:


https://es.wikipedia.org/wiki/Ordenamiento_de_burbuja

Wikipedia. (18 de Marzo de 2024). Wikipedia. Obtenido de Wikipedia:


https://es.wikipedia.org/wiki/Ordenamiento_por_inserci%C3%B3n

}
<!--Algoritmos Computaciónales-->

Fase 3: Realizar una presentación de un


algoritomo de ordenamiento {

Gracias por su
atención {
<Por="Roberto Carlos Lozano Páez 2222950 ITS”/>

También podría gustarte