PRIMERA MEJORA DEL METODO DE LA BURBUJA
La primera "pasada" a lo largo del vector deja el número mayor en el extremo derecho. La segunda pasada deja los dos números mayores ordenados en el extremo derecho, y así hasta quedar el vector ordenado ascendentemente..
A comparación con el método de la burbuja que compara parte del vector cuando ya esta ordenado, este no lo hace ya que ahora tiene el límite para no llegar a comparar a donde ya ordeno.
Algoritmo (Orientado a C) Complejidad
for (i=0; i < n-1; j++){ T(n2)
for (j=0; j < (n-1)-i; j++){ T(n)
if (a(j) > a(j+1) ){ T(1)
aux = a(j); T(1)
a(j) = a(j+1); T(1)
a(j+1) = aux; T(1)
}
}
}
Ejemplo:
Este ejemplo muestra las condiciones en las que se encontraron las variables cuando se hicieron los respectivos cambios
| Variables | Vector | |||||||||||
| pos | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | ||||
| i | j | a[j] | a[j+1] | inicio | 44 | 55 | 12 | 42 | 94 | 18 | 6 | 67 |
| 0 | 0 | 44 | 55 | |||||||||
| 1 | 55 | 12 | cambio | 44 | 55 | 12 | 42 | 94 | 18 | 6 | 67 | |
| 2 | 55 | 42 | cambio | 44 | 12 | 55 | 42 | 94 | 18 | 6 | 67 | |
| 3 | 55 | 94 | ||||||||||
| 4 | 94 | 18 | cambio | 44 | 12 | 42 | 55 | 94 | 18 | 6 | 67 | |
| 5 | 94 | 6 | cambio | 44 | 12 | 42 | 55 | 18 | 94 | 6 | 67 | |
| 6 | 94 | 67 | cambio | 44 | 12 | 42 | 55 | 18 | 6 | 94 | 67 | |
| 7 | ||||||||||||
| 1 | 0 | 44 | 12 | cambio | 44 | 12 | 42 | 55 | 18 | 6 | 67 | 94 |
| 1 | 44 | 42 | cambio | 12 | 44 | 42 | 55 | 18 | 6 | 67 | 94 | |
| 2 | 44 | 55 | ||||||||||
| 3 | 55 | 18 | cambio | 2 | 42 | 44 | 55 | 18 | 6 | 67 | 94 | |
| 4 | 55 | 6 | cambio | 12 | 42 | 44 | 18 | 55 | 6 | 67 | 94 | |
| 5 | 55 | 67 | ||||||||||
| 6 | ||||||||||||
| 2 | 0 | 12 | 42 | |||||||||
| 1 | 42 | 44 | ||||||||||
| 2 | 44 | 18 | cambio | 12 | 42 | 44 | 18 | 6 | 55 | 67 | 94 | |
| 3 | 44 | 6 | cambio | 12 | 42 | 18 | 44 | 6 | 55 | 67 | 94 | |
| 4 | 44 | 6 | ||||||||||
| 5 | ||||||||||||
| 3 | 0 | 12 | 42 | |||||||||
| 1 | 42 | 18 | cambio | 12 | 42 | 18 | 6 | 44 | 55 | 67 | 94 | |
| 2 | 42 | 6 | cambio | 12 | 18 | 42 | 6 | 44 | 55 | 67 | 94 | |
| 3 | 42 | 44 | ||||||||||
| 4 | ||||||||||||
| 4 | 0 | 12 | 18 | |||||||||
| 1 | 18 | 6 | cambio | 12 | 18 | 6 | 42 | 44 | 55 | 67 | 94 | |
| 2 | 18 | 42 | ||||||||||
| 3 | ||||||||||||
| 5 | 0 | 12 | 6 | Ordenado | 12 | 6 | 18 | 42 | 44 | 55 | 67 | 94 |
| 1 | 12 | 18 | ||||||||||
| 2 | ||||||||||||
| 6 | 0 | 6 | 12 | |||||||||
| 1 | ordenado | 6 | 12 | 18 | 42 | 44 | 55 | 67 | 94 | |||
Si usted quiere bajar este programa haga click aquí
Si usted quiere bajar el código fuente haga click aquí