Algoritmos en Java: ordenación y búsqueda

Burbuja, selección, inserción y búsqueda binaria, con un visualizador animado que muestra cada comparación y cada intercambio.

En el día a día usarás Arrays.sort() y Collections.sort() (muy optimizados). Pero entender cómo ordena y busca un ordenador te enseña a pensar en coste: no es lo mismo O(n²) que O(log n).

Visualizador de ordenación

Elige un algoritmo y pulsa «Ordenar». Cada barra es un número; las que se comparan se resaltan.

for (int i = 0; i < n - 1; i++)
    for (int j = 0; j < n - 1 - i; j++)
        if (a[j] > a[j + 1]) {
            int tmp = a[j]; a[j] = a[j + 1]; a[j + 1] = tmp;
        }

Búsqueda binaria

Sobre un array ya ordenado: mira el elemento del medio; si es mayor que el buscado, descarta la mitad derecha; si es menor, la izquierda. Repite. En un millón de elementos, ~20 pasos.

Complejidad (Big-O)

* la inserción es O(n) si el array ya está casi ordenado.

Comprueba lo aprendido