📚 Estructuras de Datos: Guía Didáctica y Visual para Entenderlo Todo
En el fascinante mundo de la programación, las estructuras de datos son como el esqueleto sobre el cual construimos nuestros programas. Nos ayudan a organizar, almacenar y manipular información de forma eficiente. En esta guía, te presento un resumen visual y didáctico de los conceptos clave para dominar este tema.
🔹 Estructuras Estáticas vs Dinámicas
| Tipo | ¿Cuándo se reserva la memoria? | Ejemplos |
|---|---|---|
| Estáticas | En compilación | Arrays, cadenas |
| Dinámicas | En ejecución | Listas, árboles, grafos, punteros, ficheros |
🔸 Tipos Abstractos de Datos (TAD)
Un TAD define un conjunto de datos + operaciones posibles, independientemente de cómo se implementen.
Ejemplos:
- Pilas
- Colas
- Listas
- Árboles
👉 Se pueden construir a partir de arrays.
🔁 Recursividad
Es cuando una función se llama a sí misma. Se usa, por ejemplo, para ordenar listas (como en ordenar()).
Tipos de recursividad:
- ✅ Simple: Una sola llamada.
- 🔁 Múltiple: Varias llamadas.
- 🔂 Anidada: La llamada se hace a través de otras funciones.
📦 Estructuras de Datos Estáticas
🔹 Array
- Memoria contigua
- Tamaño fijo
- Homogéneos (mismo tipo)
- Acceso directo a cualquier posición
🔹 Punteros
- Almacenan la dirección de otra variable
- Permiten acceder a variables de forma indirecta
💡 Usamos
*para acceder al valor, y¶ acceder a la dirección de una variable.
🧩 Estructuras Dinámicas Lineales (Secuenciales)
Se construyen con nodos y se pueden modificar durante la ejecución del programa.
🟦 Tipos de listas:
- Simples: Un solo enlace al siguiente nodo.
- Dobles: Enlaces hacia el siguiente y el anterior nodo.
- Enlazadas: Punteros determinan el orden.
- Densas: La posición del nodo siguiente está determinada por su contenido.
- Reorganizables: Nodo se coloca donde encaje.
- Circulares: El último nodo apunta al primero.
🟢 Pilas (LIFO)
- Último en entrar, primero en salir
push()añade,pop()elimina
🔵 Colas (FIFO)
- Primero en entrar, primero en salir
enqueue()añade al final,dequeue()elimina al inicio
🌳 Estructuras Dinámicas No Lineales (Jerárquicas)
🌲 Árboles
- Organización jerárquica
- Cada nodo puede tener hijos
- El nodo más alto es la raíz
🧠 Conceptos Clave:
- Nivel: Altura desde la raíz
- Grado: Número de hijos de un nodo
- Camino: Ruta entre dos nodos
- Altura y Profundidad: Miden la distancia a la raíz o al nodo más profundo
Ejemplos de árboles:
- Binarios: Máximo dos hijos por nodo
- AVL: Balanceados para eficiencia
- ABB: Árbol Binario de Búsqueda
🎯 Conclusión Visual
Aquí tienes un resumen gráfico del contenido:
✅ Estáticos: Arrays, homogéneos, memoria en compilación
✅ Dinámicos: Listas, árboles, memoria en ejecución
✅ TADs: Se centran en «qué hacen», no «cómo»
✅ Punteros: Dirección vs Valor
✅ Listas: Enlazadas, circulares, dobles
✅ Pilas/Colas: LIFO vs FIFO
✅ Árboles: Binarios, AVL, orden, grado, camino…
Si te gustó este resumen visual, ¡compártelo y guarda el blog para repasar antes de tus exámenes o entrevistas técnicas!


Deja un comentario