Please enable JavaScript.
Coggle requires JavaScript to display documents.
Estructuras de Datos — Unidad 1: Introducción a Estructuras de Datos -…
Estructuras de Datos — Unidad 1: Introducción a Estructuras de Datos
Bloque 1 — Definición y conceptos básicos de estructuras de datos
1.1.A Fundamentos
Qué es una estructura de datos
Forma organizada de almacenar y manipular información en memoria para usarla de forma eficiente; optimiza RAM y velocidad de procesamiento, y facilita búsqueda, inserción y eliminación de datos.
Dato, información y estructura de datos
Dato: valor sin procesar. Información: datos ordenados con sentido. Estructura de datos: la forma de organizar y almacenar esos datos para poder usarlos.
Importancia de elegir la estructura adecuada
Permite organizar la información de forma eficiente, acceder a ella rápido y mantener el programa ordenado; una mala elección vuelve lento el procesador o agota la memoria.
Campo, registro y archivo
Campo: una característica de un dato (ej. nombre). Registro: conjunto de campos relacionados (ej. un estudiante). Archivo: colección organizada de registros.
1.1.B Clasificación de las estructuras de datos
Lineales vs no lineales
Lineales: cada elemento tiene un único predecesor y sucesor (arreglos, listas enlazadas, pilas, colas). No lineales: relaciones uno a muchos o muchos a muchos (árboles, grafos).
Estáticas vs dinámicas
Estáticas: tamaño fijo definido al inicializar el programa, acceso rápido por índice. Dinámicas: cambian de tamaño en tiempo de ejecución, reservando y liberando memoria de forma flexible.
Homogéneas vs heterogéneas
Homogéneas: almacenan elementos del mismo tipo de dato (arreglos, matrices), con acceso por índice y distribución contigua en memoria.
Operaciones básicas
Inserción (agregar un dato), eliminación (borrar un dato), búsqueda (encontrar un elemento) y recorrido (visitar todos los elementos en orden).
1.1.C Eficienciatext
Complejidad temporal
Mide el rendimiento de un algoritmo según el número de operaciones que ejecuta en función del tamaño de entrada (n), usando la notación Big O.
Complejidad espacial
Cantidad de memoria que necesita un algoritmo para ejecutarse, considerando cómo crece esa necesidad al aumentar el tamaño de los datos de entrada.
Notación Big O
Describe cómo escala el número de operaciones de un algoritmo conforme crece el volumen de datos, no el tiempo exacto en segundos (ej. O(1), O(n), O(log n)).
Influencia en la eficiencia del programa
La estructura elegida define qué tan rápido se ejecuta el programa y cuánta memoria consume; ejemplo: usar una cola (FIFO) para simular una fila real en lugar de una pila (LIFO).
Bloque 2 — Tipos de Datos Abstractos (TDA)
1.2.A Fundamentos de los TDA
Qué es un TDA
Modelo que separa la interfaz (qué operaciones ofrece) de la implementación (cómo se ejecutan realmente), sin revelar los detalles internos de funcionamiento.
TDA vs estructura de datos
El TDA define qué operaciones deben existir y su comportamiento (el "qué"); la estructura de datos es la forma concreta de almacenarlos en memoria (el "cómo").
Abstracción y TDA
La abstracción oculta los detalles internos de un elemento y expone solo lo esencial para su uso; los TDA son esa abstracción aplicada al manejo de datos.
Interfaz vs implementación
Interfaz: qué operaciones puede usar el programador. Implementación: cómo se realizan internamente esas operaciones (estructuras y algoritmos usados).
1.2.B TDA de uso común
Pila (Stack)
Estructura LIFO (último en entrar, primero en salir); operaciones push (insertar) y pop (retirar); ejemplo: deshacer (Ctrl+Z) en un editor de texto.
Cola (Queue)
Estructura FIFO (primero en entrar, primero en salir); operaciones enqueue (agregar al final) y dequeue (quitar del frente); ejemplo: fila de un banco.
Lista
Colección de elementos en orden, cada uno identificado por un índice; permite insertar, eliminar, buscar, consultar y recorrer elementos.
Conjunto (Set)
Colección de elementos únicos sin orden específico; evita duplicados; operaciones de inserción, eliminación y búsqueda de pertenencia.
Diccionario / Mapa
Almacena pares clave-valor; el acceso se hace mediante una clave única (no un índice numérico), lo que permite búsquedas muy rápidas (ej. tablas hash).
1.2.C TDA y aplicación práctica
TDA y Programación Orientada a Objetos
Un TDA define qué operaciones debe ofrecer un tipo de dato; una clase de POO lo implementa mediante atributos y métodos, ocultando los detalles internos (encapsulamiento).
Ventajas de usar TDA
Encapsulamiento (protege los datos internos), mantenibilidad (la implementación puede cambiar sin afectar el código que la usa) y reutilización (el mismo TDA sirve en distintos programas).
TDA en ciencia de datos
El Análisis Topológico de Datos estudia la forma y conectividad de la información; se aplica, por ejemplo, en diagnóstico médico para detectar patrones de enfermedad antes de que aparezcan síntomas claros.