Documente Academic
Documente Profesional
Documente Cultură
El ordenar un grupo de datos significa mover los datos o sus referencias para que queden en una
secuencia que represente un orden, el cual puede ser numrico, alfabtico o incluso alfanumrico,
ascendente o descendente.
Tipos de ordenamiento:
Ordenamiento interno->Ordenamiento de datos en memoria principal.(La lectura y grabacin se hacen
en registros.
Ordenamiento externo-> Ordenamiento de datos en disco.
Tipos de entrada de Datos:
Entrada ordenada->Mejor caso.
Entrada orden inverso->peor caso.
Entrada desordenada->caso al azar.
Tipos de algoritmo:
Algoritmo sensible->Modifica su tiempo de ejecucin segn el tipo de entrada.
Algoritmo no sensible:Su tiempo de ejecucin es independiente al tipo de entrada.
Algoritmo estable-> Aquellos que teniendo clave repetida, mantiene su posicin inicial a la final.
Algoritmo no estable-> Aquello que no respetan la posicin inicial que la final teniendo claves
repetidas.
1.-Ordenamiento de burbuja
int main() {
delete[] arreglo;
return 0;
}
Ventajas:
Fcil implementacin.
No requiere memoria adicional.
Desventajas:
Muy lento.
Realiza numerosas comparaciones.
Realiza numerosos intercambios.
Este mtodo de ordenamiento mejora ligeramente el algoritmo de la burbuja. En el caso de tener que
ordenar un vector de enteros, esta mejora no es muy sustancial, pero cuando hay que ordenar un vector
de estructuras ms complejas.
Este algoritmo realiza muchas menos operaciones intercambiar() que el de la burbuja, por lo que lo mejora en algo. Si la
lnea comentada con (!) se sustituyera por intercambiar(lista[i], lista[j]) tendramos una versin del algoritmo de la burbuja
(naturalmente eliminando el orden intercambiar del final).
Ejemplo en c++
#include<iostream>
#include"leearreglo.h"
#define largo 50
int min,i,j,aux;
min=i;
min=j;
aux=A[min];
A[min]=A[i];
A[i]=aux ;
void main ()
int A[largo],n;
do{
}while(n<=0||n>largo);
leeCadena(n,A);
seleccionsort(A,n);
muestraCadena(n,A);
Ventajas:
1. Fcil implementacin.
2. No requiere memoria adicional.
3. Rendimiento constante: poca diferencia entre el peor y el mejor caso.
Desventajas:
1. Lento.
2. Realiza numerosas comparaciones.
DESCRIPCIN.
El algoritmo de ordenacin por el mtodo de insercin directa es un algoritmo relativamente sencillo y
se comporta razonablemente bien en gran cantidad de situaciones.
Completa la tripleta de los algoritmos de ordenacin ms bsicos y de orden de complejidad cuadrtico,
junto con SelectionSort y BubbleSort.
Se basa en intentar construir una lista ordenada en el interior del array a ordenar.
De estos tres algoritmos es el que mejor resultado da a efectos prcticos. Realiza una cantidad de
comparaciones bastante equilibrada con respecto a los intercambios, y tiene un par de caractersticas
que lo hacen aventajar a los otros dos en la mayor parte de las situaciones.
Este algoritmo se basa en hacer comparaciones, as que para que realice su trabajo de ordenacin son
imprescindibles dos cosas: un array o estructura similar de elementos comparables y un criterio claro
de comparacin, tal que dados dos elementos nos diga si estn en orden o no.
En cada iteracin del ciclo externo los elementos 0 a i forman una lista ordenada.
ANLISIS DEL ALGORITMO.
Estabilidad: Este algoritmo nunca intercambia registros con claves iguales. Por lo tanto es estable.
Requerimientos de Memoria: Una variable adicional para realizar los intercambios.
Tiempo de Ejecucin: Para una lista de n elementos el ciclo externo se ejecuta n1 veces. El ciclo
interno se ejecuta como mximo una vez en la primera iteracin, 2 veces en la segunda, 3 veces en la
tercera, etc.
Algoritmo (Orientado a C)
DESCRIPCIN
El mtodo Shell es una versin mejorada del mtodo de insercin
directa. Este mtodo tambin se conoce con el nombre de insercin con
incrementos crecientes. En el mtodo de ordenacin por insercin
directa cada elemento se compara para su ubicacin correcta en el
arreglo, con los elementos que se encuentran en la parte izquierda del
mismo. Si el elemento a insertar es ms pequeo que el grupo de
elementos que se encuentran a su izquierda, es necesario efectuar
entonces varias comparaciones antes de su ubicacin.
Shell propone que las comparaciones entre elementos se efecten
con saltos de mayor tamao pero con incrementos decrecientes, as, los
elementos quedarn ordenados en el arreglo ms rpidamente.
El Shell sort es una generalizacin del ordenamiento por insercin,
teniendo en cuenta dos observaciones:
1. El ordenamiento por insercin es eficiente si la entrada est "casi
ordenada".
2. El ordenamiento por insercin es ineficiente, en general, porque
mueve los valores slo una posicin cada vez.
El algoritmo Shell sort mejora el ordenamiento por insercin
comparando elementos separados por un espacio de varias posiciones.
Esto permite que un elemento haga "pasos ms grandes" hacia su
posicin esperada. Los pasos mltiples sobre los datos se hacen con
tamaos de espacio cada vez ms pequeos. El ltimo paso del Shell
sort es un simple ordenamiento por insercin, pero para entonces, ya
est garantizado que los datos del vector estn casi ordenados
Bibliografa
https://es.wikipedia.org/wiki/Algoritmo_de_ordenamiento
www.unlam.edu.ar/descargas/1_Metodos.doc
http://c.conclase.net/orden/?cap=burbuja
http://c.conclase.net/orden/?cap=seleccion
https://es.wikipedia.org/wiki/Ordenamiento_por_selecci%C3%B3n
https://techlandia.com/ventajas-desventajas-algoritmos-ordenamiento-info_181515/
http://mis-algoritmos.com/ordenamiento-rapido-quicksort
https://www.slideshare.net/angelamontilla1/metodos-de-ordenamiento-2