Unidad 6 ordenacion_interna

522 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
522
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Unidad 6 ordenacion_interna

  1. 1. ESTRUCTURAS DE DATOS UNIDAD 6 METODOS DE ORDENACION INTERNALos métodos de ordenación se dividen en 2 categorías:Ordenación Interna. Es aquella que se realiza totalmente en memoria principal, con gran velocidad yacceso aleatorio.Ordenación Externa. Es aquella cuyos datos están soportados por el almacenamiento o memoriasecundaria, esto hace que las operaciones de entrada y salida sean más lentas pero en cambio sepueden manipular grandes volúmenes de información.La ordenación interna considera diversos métodos entre los cuales se encuentran los métodos deintercambio y los métodos de distribución.Métodos de IntercambioEntre los principales métodos de intercambio se encuentran los de Burbuja, QuickSort y Shell Sort.Método de BurbujaEste método se basa en el principio de comparar pares de elementos adyacentes e intercambiarlosentre si hasta que se encuentren todos ordenados. El método básicamente consisten en: o Comparar los elementos de las posiciones 1 y 2 del arreglo y si no están en el orden requerido se intercambian sus valores. o Se comparan elementos de la posición 2 y 3 intercambiando si es necesario. o El proceso continúa hasta que el último elemento ha sido comparado.Al terminar este proceso el último elemento ya ha sido ordenado por lo que se repita la etapa anteriorhasta el elemento n-1 y así sucesivamente.Método QuickSortEste método se basa en el hecho de que es más rápido y fácil de ordenar dos listas pequeñas que unalista grande. Se usa la típica estrategia “Divide y vencerás”. La lista a clasificar se divide en dossablistas , una con todos los valores menores a un cierto valor específico y la otra con todos los valoresmayores a ese valor.El primer paso es elegir dentro de la lista original un valor específico llamado pivote, y después de unprocedimiento que separe las listas se obtendrá: • Una sublista con los valores menores o iguales al pivote. • El elemento de separación que es el pivote. • Una sublista con los valores mayores al pivote.Este proceso se debe repetir hasta que ya no sea posible dividir una sublista en dos partes.En general, el método es recomendable para las listas con un gran volumen de datos. 1
  2. 2. ESTRUCTURAS DE DATOSMétodo ShellSortEl primer algoritmo que mejoró de forma sustancial la ordenación por inserción fue ShellSort. Elalgoritmo de ordenación ShellSort, fue desarrollado en 1959 por Donald Shell.La idea de Shell fue evitar gran cantidad de movimientos de datos, sin embargo no ordena elementosadyacentes sino que utiliza una segmentación entre los datos. Esta segmentación puede ser decualquier tamaño de acuerdo a una secuencia de valores que empiezan con un valor grande (peromenor al tamaño total de la estructura) y van disminuyendo hasta llegar al 1, es decir comparaprimero elementos que están muy separados , para después comparar elementos más cercanos, y asísucesivamente reduciendo gradualmente al método de inserción.Métodos de DistribuciónMétodo RadixCualquier tipo de ordenación está basado en algún valor concreto denominado clave de ordenación.Por ejemplo, un conjunto de nombres puede ordenarse de acuerdo al apellido. El método Radixtambién conocido como “Ordenación Raíz”, en lugar de comparar los elementos según la clave deordenación se basa en la estructura de esa clave de ordenación. Una forma de implementar el métodoes mediante la creación de colas separadas para cada valor posible de cada digito o caracter de la clavede ordenación. El número de colas o el número de posibles valores se denomina raíz o base.Por ejemplo, si se ordenaran cadenas de caracteres formados por caracteres alfabéticos en minúsculas,la raíz seria 27 es decir el número de letras del alfabeto y en ese caso se tendría que utilizar 27 colas,una para cada posible caracter.Si se ordenan números decimales, de tres dígitos, entonces la raíz seria de 10 utilizando una cola paracada uno de los dígitos del cero al nueve (0-9). La ordenación del método Radix hará 3 pasadas através del conjunto de valores, una para cada posición del dígito. En la primera pasada se considera elnúmero menos significativo, es decir las unidades, y se distribuyen en cada cola de acuerdo al dígitocorrespondiente.En la segunda pasada se considera el dígito de las decenas distribuyendo nuevamente en las colascorrespondientes, y en la tercera pasada se considera el dígito de las centenas. Cuando los números seextraen por última vez de las colas estarán completamente ordenados. 2
  3. 3. ESTRUCTURAS DE DATOS Ejemplo Lista original: 442,503, 312, 145,250, 341, 325, 102,420 143. 1ra. Vuelta 250. 420, 341, 442,312, 102, 503, 143, 145,325 2da. Vuelta 102. 503,312, 420,325 341 , 442, 143, 145, 250 3ra. Vuelta 102, 143,145, 250,312, 325,341 420, 442, 503 Cola deldigito Unidades Decenas Centenas 0 420 250 503 102 1 341 312 145 143 102 2 102 312 442 325 420 143 102 3 143 503 341 325 312 4 145 143 442 341 442 420 5 325 145 250 503 3

×