Computación visual
6 experiencias interactivas donde los algoritmos cobran vida. Ordenamiento, estructuras de datos, compuertas lógicas, redes neuronales y autómatas.
Bubble Sort Race
Visualiza el ordenamiento burbuja como una carrera de barras. Observa comparaciones, intercambios y la complejidad O(n²) en acción.
Cómo funciona & Por qué importa
Mecánica: El algoritmo recorre el array comparando pares adyacentes. Si están desordenados, los intercambia. Repite hasta que no hay cambios.
Importancia: Aunque ineficiente (O(n²)), es el primer algoritmo de ordenamiento que se enseña porque su lógica es intuitiva. Entenderlo prepara para algoritmos más eficientes como QuickSort o MergeSort.
Árbol Binario de Búsqueda
Inserta, busca y elimina nodos en un BST interactivo. Visualiza recorridos inorder, preorder y postorder.
Cómo funciona & Por qué importa
Mecánica: Cada nodo tiene como máximo dos hijos. Los valores menores van a la izquierda, los mayores a la derecha. Esta propiedad permite búsquedas en O(log n).
Importancia: Los BST son la base de estructuras más avanzadas (AVL, Red-Black, B-Trees). Entender su balanceo y recorridos es esencial para bases de datos, sistemas de archivos e índices.
Logic Gates Sandbox
Construye circuitos con compuertas AND, OR, NOT, XOR. Arrastra, conecta y observa las señales fluir.
Cómo funciona & Por qué importa
Mecánica: Las compuertas lógicas transforman señales binarias (0/1) según tablas de verdad. Combinándolas puedes crear desde sumadores hasta CPUs completas.
Importancia: Son los bloques fundamentales de toda la electrónica digital. Entender NAND como compuerta universal revela cómo cualquier función lógica puede construirse con un solo tipo de compuerta.
Stack & Heap Visualizer
Explora la memoria como un edificio. Stack frames, heap allocation, punteros y garbage collection visualizados.
Cómo funciona & Por qué importa
Mecánica: El Stack crece hacia abajo (LIFO) guardando variables locales y direcciones de retorno. El Heap permite asignación dinámica con malloc/free.
Importancia: Entender la memoria es crucial para evitar bugs como stack overflow, memory leaks y dangling pointers. Es la diferencia entre código que funciona y código que funciona de forma fiable.
Perceptron Playground
Entrena un perceptrón para clasificar puntos. Observa cómo la línea de decisión se ajusta con cada época.
Finite Automata
Diseña autómatas finitos deterministas. Estados como habitaciones, transiciones como puertas. Prueba cadenas de entrada.
Cada simulación implementa algoritmos canónicos con visualización educativa.
Referencias: CLRS, Sipser, Nand2Tetris, Bishop