# Taller 1 Estructura de datos tema introductorio ## Mapa Mental ```markmap # Computación ### Algoritmos * Recursión * Análisis ### Estructuras de datos * Árboles * Listas enlazadas * Arreglos * Diccionarios ### Lenguajes de programación * Python * Java * C++ * JavaScript ### Bases de datos * SQL * NoSQL ### Inteligencia artificial * Machine Learning * Natural Language Processing ``` ## Conceptos Investigados ### Computación La computación es el estudio de las computadoras y sus aplicaciones. Se trata de una rama de la ingeniería que se ocupa del diseño, implementación y uso de computadoras. ### Ciencias de la computación Las ciencias de la computación son el estudio de la teoría, diseño, implementación y aplicación de las computadoras. Se trata de una disciplina científica que se ocupa del estudio de los algoritmos, las estructuras de datos, los lenguajes de programación, los sistemas operativos, las bases de datos, la inteligencia artificial, la robótica y otros temas relacionados con las computadoras. ### Solución óptima Una solución óptima es una solución a un problema que es la mejor posible. Una solución óptima se caracteriza por ser la solución más eficiente, la solución que requiere menos recursos o la solución que cumple todos los requisitos del problema. ### Complejidad La complejidad es una medida de la dificultad de resolver un problema. La complejidad de un problema se puede medir en términos de tiempo, espacio o ambos. ### Estructura de datos Una estructura de datos es un esquema para organizar datos de manera que puedan ser accedidos y utilizados de manera eficiente. Las estructuras de datos se utilizan para almacenar y manipular datos en los programas de computadora. ### Algoritmo Un algoritmo es un conjunto de instrucciones para resolver un problema. Los algoritmos se utilizan para automatizar tareas y para resolver problemas de manera eficiente. ### Tipos abstractos de datos (TDA) Un tipo abstracto de datos (TDA) es una definición de un tipo de datos que no está vinculado a un tipo de datos específico. Los TDA se utilizan para proporcionar una capa de abstracción sobre los tipos de datos, lo que facilita el uso de los tipos de datos sin tener que conocer los detalles de implementación específicos. ### Abstracción procedimental Una abstracción procedimental es una forma de ocultar los detalles de implementación de un procedimiento. Las abstracciones procedimentales se utilizan para proporcionar una capa de abstracción sobre el código, lo que facilita la comprensión y el mantenimiento del código. ### Programación La programación es el proceso de escribir código para que las computadoras sigan instrucciones. La programación es una habilidad esencial para los científicos de la computación, los ingenieros de software y otros profesionales que trabajan con computadoras. ### Encapsulamiento El encapsulamiento es la práctica de agrupar datos y funciones relacionados juntos. El encapsulamiento se utiliza para proporcionar una capa de abstracción sobre los datos, lo que facilita el uso de los datos sin tener que conocer los detalles de implementación específicos. ### Implementación La implementación es el proceso de convertir un algoritmo en un programa de computadora. La implementación se realiza escribiendo código en un lenguaje de programación. ### Modelo matemático Un modelo matemático es una representación matemática de un problema. Los modelos matemáticos se utilizan para comprender mejor los problemas y para desarrollar soluciones a los problemas. ### Recursión La recursión es una técnica para resolver un problema llamando a sí misma. La recursión se utiliza para resolver problemas que son difíciles de resolver de otra manera. ### Análisis El análisis es el estudio de las propiedades de un sistema. El análisis se utiliza para comprender mejor el sistema y para desarrollar soluciones a los problemas que afectan al sistema.