Ordenación interna.
Ordenar significa reagrupar o reorganizar un
conjunto de datos u objetos en una secuencia especifica, la cual puede ser de
dos formas distintas:
- - Ascendente (menor a mayor) o
- - Descendente (mayor a menor).
Los métodos de ordenación se clasifican en dos
categorías:
- - Ordenación interna (de arreglos) y
- Ordenación externa (de archivos).
- La ordenación interna o de arreglos, recibe este nombre ya que los elementos o componentes del arreglo se encuentran en la memoria principal de la computadora.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNvXZSEE1uyQPxL5xF0oJ8DOKVN5WwkCzISp5M7wgVUCU7MUtKqzv9DX_2005HhRqpLqM2IL4xuKw8FzYSZrkM9dUink85BNcumpaKZlALc-ejoXJm8AxiFP-cOlfiSwSZ8lYIDmQtzc0/s1600/metodo+de+burbuja.png)
Los métodos directos, son complejos, difíciles de entender y son eficientes en grandes cantidades de datos.
Los métodos
directos más conocidos son:
- Ordenación por intercambio.
- Ordenación por inserción.
- Ordenación por selección.
Algoritmos de ordenamiento por intercambio.
La ordenación por intercambio consiste en
comparar dos elementos del arreglo y determinar si existe un intercambio entre
ellos, para esto debe definirse el tipo de ordenamiento que se quiere ya sea
ascendente o descendente.
Los
algoritmos de ordenación directa por intercambio que se analizaran son:
- El método de la burbuja.
- El método quicksort.
- El método shellsort.
Burbuja
El método de ordenación por intercambio directo
o método de la burbuja, es el más
simple y consiste en comparar dos elementos adyacentes para determinar si se
realiza un intercambio entre los mismos, esto en caso de que el primero sea
mayor que el segundo (forma ascendente) o el caso de que el primero sea menor
que el segundo (forma descendente).
- Generar un ciclo que inicie desde uno hasta el número de elementos del arreglo.
- Generar un segundo ciclo dentro del anterior que inicie desde cero hasta el número de elementos del arreglo menos dos.
- Dentro del segundo ciclo debe existir una comparación que determina el tipo de ordenamiento (ascendente o descendente) entre el primer elemento (posición generado por el segundo ciclo) y el segundo elemento (el que le sigue), si la respuesta a la condición es verdadera se realiza un intercambio entre los dos elementos.
- Para realizar el intercambio se genera un almacenamiento temporal, el cual guarda el dato del primer elemento, el segundo elemento toma el lugar del primero y en el lugar del segundo se coloca lo que contiene el almacenamiento temporal.
Radix.
.
El método radix se clasifica en dos tipos según el orden en el que procesan los datos:
- De derecha a izquierda y
- De izquierda a derecha.
El
procedimiento para aplicar el algoritmo de radix es el siguiente:
Vector original:
25 57 48 37 12 92 86 33
Asignamos los elementos en colas basadas en el dígito menos significativo de cada uno de ellos.
- 0:
- 1:
- 2:12 92
- 3:33
- 4:
- 5:25
- 6:86
- 7:57 37
- 8:48
- 9:
Después de la primera pasada, la ordenación queda:
12 92 33 25 86 57 37 48
Colas basadas en el dígito más significativo.
- 0:
- 1:12
- 2:25
- 3:33 37
- 4:48
- 5:57
- 6:
- 7:
- 8:86
- 9:92
Lista ordenada:
12 25 33 37 48 57 86 92
QuickSort.
El método de ordenamiento rápido o método quicksort, es una técnica basada
en otra conocida con el nombre divide y
vencerás, que permite ordenar una cantidad de elementos . El algoritmo original es recursivo, como la técnica en la
que se basa.
- Recorrer el arreglo simultáneamente con izq y der: por la izquierda con izq (desde el primer elemento), y por la derecha con der (desde el último elemento).
- Mientras el arreglo en su posición izq (arreglo[izq]) sea menor que el pivote, continuamos el movimiento a la derecha.
- Mientras el arreglo en su posición der (arreglo[der]) sea mayor que el pivote, continuamos el movimiento a la izquierda.
- Terminando los movimientos se compara los índices y si izq es menor o igual al der, se intercambian los elementos en esas posiciones y las posiciones se cambian izq a la derecha y der a la izquierda.
ShellSort.
El método
de ordenación shellsort es una
versión mejorada del método de ordenación por inserción directa, que se utiliza
cuando el número de elementos es grande.
El método de ordenación shellsort mejora el ordenamiento por inserción comparando elementos separados por un espacio de varias posiciones. Esto permite que un elemento haga pasos más grandes hacia la posición que debe ocupar.
El
procedimiento para aplicar el algoritmo de shellsort es el siguiente:
- Generar un ciclo que se encargue de controlar el tamaño que deben tener los incrementos.
No hay comentarios.:
Publicar un comentario