Please enable JavaScript.
Coggle requires JavaScript to display documents.
INTRODUCCIÓN A ESTRUCTURA DE DATOS, image, image, image - Coggle Diagram
INTRODUCCIÓN A ESTRUCTURA DE DATOS
estructura de datos
forma organizada de almacenar y manipular información
Su propósito principal en la programación es optimizar el uso de recursos informáticos
Dato, información y estructura de datos
Dato
valor o simbolo
información
conjunto de datos ordenados
Estructura
forma organizada o almacenada
Campo, registro y archivo
campo:unidad mas pequeña de una información
Archivo: conjunto de registros almacenados en un medio de almacenamiento
Registro: conjunto de campos relacionados
Caracteristicas
tienen nombre
contienen muchos campos del mismo registro
todos los campos se refieron a uno mismo
Estructuras de datos
Lineales
Los elementos se organizan de forma secuencial
matrices
listas enlazadas
pilas
colas
No lineales
un elemento puede conectarse a varios elementos formando relaciones jerárquicas o de red
arboles
grafos
Cola
organiza los elementos de forma lineal. Los elementos se insertan por el final y se eliminan por el frente.
TDA lista
que permite almacenar una colección de elementos en un orden determinado
operaciones
Crear
Insertar
Eliminar: Quita un elemento de la lista.
Buscar
Consultar
Modificar
Recorrer
Tamaño
Vaciar
Estructura de datos estaticos
se define de forma fija
lo cual impide alterar su capacidad total de almacenamiento durante su ejecución
Ejemplo
se utiliza una estructura estática como un arreglo (array de tamaño fijo)
Estructuras de datos homogéneas frente a estructuras de datos heterogéneas
definición
Son estructuras que almacenan exclusivamente elementos del mismo tipo de dato
caracteristicas
uniformidad de tipo
tamaño fijo
distribución continua en memoria
menor sobrecarga
arreglos / vectores
Operaciones básicas
acciones fundamentales que nos permiten manejar y organizar la información dentro de un programa.
intersección
añadir un datos a la estructura
Eliminación
quitar un dato a la estructura
Búsqueda
Localizar la ubicación de un dato
Recorrido
pasar por cada dato secuencialmente
complejidad temporal de un algoritmo
mide el rendimiento de un algoritmo calculando la cantidad de operaciones básicas
complejidad espacial de un algoritmo
es la cantidad de memoria que utiliza un algoritmo
Espacio de entrada
memoria necesaria para almacenar los datos que recibe el agoritmo
Espacio auxiliar
memoria adicional que el algoritmo necesita mientras se ejecuta
BIG O
el número de operaciones que hará un algoritmo
comparar diferentes algoritmos por el numero de operaciones que hacen
¿Cómo influye la elección de una estructura de datos en la eficiencia de un programa?
elegir bien la estructura
analizar las tareas a realizar
permite optimizar el uso de recursos y mantener un rendimiento ágil
Datos abstractos (TDA)
que son
es como un modelo matemático que establece un grupo de valores y las operaciones que se pueden llevar a cabo con ellos
ejemplo
Pila
ultimo en entrar, primero en salir
Diferencia entre TDA y
estructura de datos
se manejan y qué operaciones pueden realizarse con ellos
objetivo
es describir el comportamiento que debe ofrecer una estructura de datos.
es la forma concreta en que esos datos se organizan, almacenan y relacionan dentro de la memoria de una computadora
Abstracción
consiste en ocultar los detalles internos de implementación de un elemento
permite
manejar la complejidad de los sistemas al reducir la cantidad de información
relación
logica de implementación
separación
interfaz
comportamiento tienen, sin explicar cómo están programadas.
implementación
explica cómo se realizan internamente esas operaciones
Pila (stack)
estructura de datos lineal que organiza los elementos
LIFO
el último elemento en entrar es el primero en salir.
ejemplo
El uso de Ctrl Z
Cada modificación realizada por el usuario se guarda como una acción en el tope de una pila mediante la operación push.
TDA Set
diseñada para almacenar una colección de elementos únicos y sin un orden específico
proposito
ncapsular la lógica de pertenencia y unicidad
operaciones
inserción (add / insert)
eliminación (remove)
busqueda / pertenencia
TDA Diccionario o mapa
es una estructura de datos diseñada para almacenar información en forma de pares de clave-valor (key-value).
permite
sean altamente eficientes
Insercción
busqueda
eliminación
modifi
Su diseño suele implementarse por debajo utilizando tablas hash o árboles
Relacion TDA en POO
ambos
permiten organizar datos y las operaciones que se pueden realizar sobre ellos
TDA
debe ofrecer un tipo de datos
ventajas en el diseño de software
permiten separar lo que una estructura de datos hace de la manera en que internamente realiza esas operaciones.
de esta manera
el software puede ser más organizado, fácil de comprender, modificar y ampliar.
poo
implementar ese TDA mediante atributos y métodos