Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
DE DATOS
temp = unaLista[i]
unaLista[i] = unaLista[j]
unaLista[j] = temp
intercambiará los ítems ii-ésimo y jj-ésimo de la lista. Sin el almacenamiento temporal, uno de los
valores sería sobrescrito.
En Python es posible realizar la asignación simultánea. La instrucción a,b=b,a dará lugar a que se
realicen dos instrucciones de asignación al mismo tiempo (véase la Figura 2). Usando la asignación
simultánea, la operación de intercambio se puede hacer en una sola instrucción.
Las líneas 5-7 en el ActiveCode 1 realizan el intercambio de los ítems ii-ésimo e (i+1)(i+1)-ésimo
utilizando el procedimiento de tres pasos descrito anteriormente. Note que también podríamos haber
utilizado la asignación simultánea para intercambiar los ítems.
CODIGO
import java.io.*;
PANTALLAZO
ORDENAMIENTO RAPIDO O QUICKSORT
Este algoritmo esta basado en la tecnica divide y vencerás (consiste en dividir el problema en pequeños
subproblemas mas sencillos para luego estos ser resueltos con un calculo mas sencillo) asi crearemos arreglos
mas pequeños para ordenar estos.
1. Selecciona un valor del arreglo como pivote es decir un numero por el cual todos los elementos van a ser
comparados.
2. se realizan dos búsquedas: una de izquierda a derecha, buscando un elemento mayor que el pivote, y otra
de derecha a izquierda, buscando un elemento menor que el pivote. Cuando se han encontrado los dos, se
intercambian, y se sigue realizando la búsqueda hasta que las dos búsquedas se encuentran.
3. luego se organizan los subarreglos que quedaron a mano derecha y izquierda.
Ejemplo:
Tenemos un arreglo que esta definido con los valores {22,40,4,10,12,35} los pasos en quicksort para
arreglarlo son los siguientes:
PANTALLAZO
Método de Shell (Shell Sort)
El método Shell (en honor a su descubridor) mejor del método de inserción
simple ordenando subarrreglos del arreglo original en forma separada. Para
crear estos nuevos subarreglos, se toman elementos saltados del areglo original
en relación a incrementos predeterminados.
25 57 48 37 12 92 86 33
con incremento = 5:
(x[0], x[5])
(x[1], x[6])
(x[2], x[7])
(x[3])
(x[4])
con incremento = 3:
con incremento = 1:
arreglo original o 25 57 48 37 12 92 86 33
paso 1
o 25 57 48 37 12 92 86 33
salto = 5
paso 2
25 57 33 37 12 92 86 48
salto = 3
paso 3
25 12 33 37 48 92 86 57
salto = 1
Arreglo ordenado 25 12 33 37 48 57 86 92
CODIGO