🎬 Resumen Sort y Find

Ordenamiento y Búsqueda · simulación paso a paso a velocidad configurable

¿Qué significan "ordenar" y "buscar"?

Ordenar (sort) es acomodar una lista de números de menor a mayor (o al revés), como cuando ponés cartas o billetes en orden.

Buscar (find) es encontrar dónde está un número dentro de la lista, o saber que no está.

Elegí un método abajo y tocá ▶ Reproducir. Cada paso se explica con palabras simples; podés frenar, avanzar de a uno y cambiar la velocidad.

📊 Ordenamiento (Sort)
🔍 Búsqueda (Find)

📝 Para recordar y reescribir en el examen

    ↓ índice de cada posición de la lista
    👋 Elegí un método y tocá Reproducir para empezar.
    🐍 Código Python · la línea resaltada se ejecuta en este paso · pasá el mouse sobre una variable para ver su valor
    
        
    🐢 Lento Rápido 🐇 · Velocidad: 5/10
    📏 Tamaño de lista 12 elementos (10–15)
    Comparando Intercambio Elemento actual Menor / medio Ya ordenado / encontrado Descartado

    📊 Comparación de pasos y complejidad

    ¿Cuántas comparaciones haría cada método con la lista actual de 12 elementos? Los valores son del peor caso (cuando todo sale lo más desfavorable posible).

    Ordenamiento

    AlgoritmoComparaciones (peor caso)Mejor casoPeor casoIdea

    Búsqueda

    AlgoritmoPasos (peor caso)ComplejidadRequiere lista ordenadaIdea

    ¿Qué significa la notación O( )?

    La notación Big-O describe cómo crece la cantidad de operaciones cuando la lista se agranda (n = cantidad de elementos). No mide segundos: mide cuántos pasos hace el algoritmo a medida que n aumenta.

    • O(1)constante: siempre hace la misma cantidad de pasos, no importa el tamaño. Ej.: leer lista[0].
    • O(log n)logarítmica: al duplicar n solo suma unos pocos pasos. Súper eficiente. Ej.: búsqueda binaria.
    • O(n)lineal: los pasos crecen igual que n (el doble de datos, el doble de pasos). Ej.: búsqueda secuencial.
    • O(n²)cuadrática: al duplicar n los pasos se multiplican por 4. Ej.: burbuja, inserción y selección.

    Regla rápida: un bucle simple suele ser O(n); dos bucles anidados que recorren la lista dan O(n²); dividir el problema a la mitad en cada paso da O(log n).

    💡 Para recordar: Burbuja, Inserción y Selección son fáciles de entender pero lentas con muchos datos (hacen muchas comparaciones). En búsqueda, la Secuencial mira uno por uno y no necesita lista ordenada; la Binaria es muchísimo más rápida porque descarta la mitad en cada paso, pero exige que la lista esté ordenada.