Analizar búsqueda lineal

Escribir, autocompletar e importar código

El Analizador General es el espacio donde puedes escribir o cargar un algoritmo y solicitar a AALIE que realice el análisis de complejidad. Para empezar, escribe el pseudocódigo en el editor. En este módulo se usará una búsqueda lineal porque es un ejemplo claro para observar diferencias entre mejor caso, caso promedio y peor caso.

El editor incorpora ayudas para escribir pseudocódigo con menos fricción. El autocompletado sugiere palabras clave, estructuras y fragmentos frecuentes. Esto reduce errores simples de escritura y acelera la creación de algoritmos compatibles con la gramática de AALIE.

Editor con búsqueda lineal cargada.
Editor con búsqueda lineal cargada.

Mientras escribes, el sistema puede mostrar errores de sintaxis en tiempo real. Esta validación no significa que el algoritmo ya esté matemáticamente correcto; solo indica si la forma escrita puede ser interpretada por el analizador. Primero debe pasar la sintaxis, después viene el análisis.

Autocompletado o error de sintaxis en el editor.
Autocompletado o error de sintaxis en el editor.

También puedes importar un archivo .txt desde tu computador. El contenido del archivo se carga directamente en el editor. Después de importarlo, revisa que el pseudocódigo esté completo, que los bloques estén cerrados correctamente y que el sistema no marque errores antes de analizar.

Diálogo o resultado de importar archivo .txt.
Diálogo o resultado de importar archivo .txt.

Leer los resultados del análisis

Cuando el código esté listo, presiona el botón Analizar. AALIE procesará el algoritmo y generará los resultados en pantalla. El análisis incluye una tabla por línea donde se muestra qué instrucción aparece, cuántas veces se ejecuta, cuál es su costo y qué explicación acompaña ese comportamiento.

Tabla de costos por línea después de analizar búsqueda lineal.
Tabla de costos por línea después de analizar búsqueda lineal.

La tabla por línea es una de las partes más importantes del resultado. No basta con mirar la notación final. Debes observar qué líneas dominan el costo, qué ocurre dentro del ciclo y cómo cambian las ejecuciones entre mejor caso, caso promedio y peor caso.

Interpretación de escenarios

En búsqueda lineal, el mejor caso ocurre cuando el elemento se encuentra al inicio. El peor caso aparece cuando el elemento está al final o no se encuentra. El caso promedio depende del modelo asumido para la posición del elemento. AALIE muestra estos escenarios para que no reduzcas el análisis a una única respuesta sin contexto.

En la parte inferior se presenta el comportamiento general del algoritmo y su notación asintótica. Esta sección resume el crecimiento del costo cuando aumenta el tamaño de entrada, pero debe leerse junto con la tabla de costos y las explicaciones generadas.

Resumen asintótico con mejor caso, promedio y peor caso.
Resumen asintótico con mejor caso, promedio y peor caso.

AST y seguimiento paso a paso

El AST, o árbol de sintaxis abstracta, representa la estructura interna del algoritmo después de interpretar el pseudocódigo. Sirve para entender cómo AALIE organiza bloques, ciclos, condicionales y retornos antes de analizarlos. No es una vista pensada para memorizar, sino para inspeccionar la estructura del código.

Vista o modal del AST generado para el algoritmo.
Vista o modal del AST generado para el algoritmo.

El seguimiento paso a paso permite ejecutar el algoritmo con valores concretos. Esta vista es útil para observar cómo cambian las variables, qué condición se evalúa, qué rama se toma y cuándo termina el algoritmo. La traza ayuda a conectar el análisis teórico con una ejecución real.

Seguimiento paso a paso de búsqueda lineal con valores de entrada definidos.
Seguimiento paso a paso de búsqueda lineal con valores de entrada definidos.
Límite de la traza

Una traza con valores concretos no demuestra por sí sola la complejidad general del algoritmo. Sirve como apoyo visual. La conclusión asintótica debe apoyarse en el conteo de ejecuciones y en la estructura del algoritmo.