All collections in Sistema de Gestión Académica — UTP AED are hand-written inside theDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/kenri89/PROYECTO_UTP_AED_1_1/llms.txt
Use this file to discover all available pages before exploring further.
estructuras package as a core requirement of the Algorithms and Data Structures (AED) course. No ArrayList, HashMap, Stack, or any other class from java.util is used for domain data. Each structure was chosen deliberately to match the access pattern of the panel that consumes it — ordered lookup for students, sequential filtering for enrollments, LIFO audit trail for actions, grid layout for semesters, and index-based export for the course catalog.
Structure Comparison
| Structure | Class | Purpose | Key Operation |
|---|---|---|---|
| Binary Search Tree | ArbolEstudiantes | Student registry | O(log n) carnet lookup |
| Singly-Linked List | ListaMatricula | Enrollment records | Sequential insert + carnet filter |
| Singly-Linked List | ListaCursos | Course linked traversal | Combo-box population |
| Stack (LIFO) | PilaAcciones_U3 | Enrollment audit trail | Push / pop actions |
| 2D Matrix | MatrizSemestres | Courses by semester | Row = semester, Col = slot |
| Dynamic Array | ArregloCursos | Course catalog iteration | Index-based access + Excel export |
Why Multiple Structures for Courses?
Curso data is inserted into three separate structures simultaneously — ArregloCursos, ListaCursos, and MatrizSemestres — because each panel has a fundamentally different access need. ArregloCursos supports fast index-based iteration and is the source for the Apache POI Excel exporter. ListaCursos is traversed with a Consumer<Curso> lambda to populate combo-boxes in the enrollment form. MatrizSemestres provides a semester-row view used by the grid panel. All three must be kept in sync: every insert, update, and delete operation must be applied to all three structures.
Detail Pages
BST Estudiantes
Binary Search Tree keyed by student carnet. Supports O(log n) insert, search, update, delete, and in-order traversal for sorted display.
Lista Matrícula
Singly-linked list of enrollment records identified by (carnet, codigoCurso) pair. Supports append, exact lookup, and per-student filtering.
Stack Historial
LIFO stack of AccionMatricula records. Every enrollment and cancellation is pushed here for the history panel display.
Matrix Semestres
10×10 Curso matrix where each row corresponds to a semester (1–10) and columns are open slots filled left-to-right.
Array Cursos
Dynamic array starting at capacity 100, doubling on overflow. Primary source for index-based iteration and Apache POI Excel export. Also covers the parallel ListaCursos linked list for combo-box traversal.