Want to make creations as awesome as this one?

Transcript

Profesor Alfonso Recio Hernan

Félix Uriel Guerrero García - 23151215

Estructura de Datos

¿Que son las estructuras de datos?

SECCIÓN 01

  • Las estructuras de datos son una colección de datos cuya organización se caracteriza por las funciones de acceso que se usan para almacenar y acceder a elementos individuales de datos.
  • Las estructuras de datos son maneras de organizar y almacenar la información de forma que podamos acceder a ella y manipularla eficientemente. Podemos clasificar estas estructuras de diversas maneras, según su organización, mutabilidad, y propósito. tenemos cinco categorías clave: lineales, no lineales, dinámicas, estáticas, y ordinales.

Estructura de Datos

Estructuras de Datos Lineales

Las estructuras de datos lineales son aquellas en las que los elementos están organizados en una secuencia o línea, donde cada elemento tiene un predecesor y un sucesor, excepto los extremos

Otro ejemplo de estructura lineal es una pila, que sigue el principio de LIFO (Last In, First Out), como una pila de platos: el último plato que colocas es el primero que retiras.

+ info

las estructuras de datos no lineales, como los árboles y los grafos, no siguen un orden lineal. En estas estructuras, los elementos pueden tener múltiples conexiones, lo que permite representar relaciones jerárquicas o redes complejas. Un ejemplo clásico es un árbol de directorios en un sistema operativo, donde cada carpeta puede contener múltiples subcarpetas o archivos, formando una estructura jerárquica.”

Estructura de datos no lineales

  • En cuanto a la mutabilidad, las estructuras de datos pueden ser dinámicas o estáticas. Las estructuras dinámicas, como las listas enlazadas, pueden crecer o reducirse en tiempo de ejecución, adaptándose a las necesidades del programa.
  • Por ejemplo, un arreglo de meses del año siempre tendrá 12 posiciones.”

Estructuras de datos dinámicas y estáticas

Las estructuras ordinales son aquellas en las que los elementos tienen un orden específico, lo cual es esencial en estructuras como los árboles binarios de búsqueda, donde el orden permite operaciones eficientes como la búsqueda y la inserción.Por ejemplo, en un árbol binario de búsqueda, los nodos se organizan de tal manera que el nodo izquierdo siempre tiene un valor menor y el derecho un valor mayor, lo cual permite búsquedas rápidas.

Estructuras de datos ordinales y simples

No Considerar el Uso de Memoria: Algunas estructuras de datos ocupan mucho espacio de memoria. No Considerar la Complejidad del Tiempo: La complejidad del tiempo de operaciones como el acceso,

Errores Comunes y como evitarlos

Si necesitas acceder a elementos en una secuencia específica, entonces considera usar estructuras de datos lineales como arreglos, pilas y colasSi tus datos no siguen un patrón secuencial, entonces las estructuras de datos no lineales como los árboles y los grafos pueden ser utilizados..

Estructura de Datos Correcta

Estructuras de mayor uso en la programación

Arrays

Estructuras de mayor uso en la programación

Colas

Queues

Pilas

Stacks

L inked List

Listas Enlazadas

Arreglos

Arreglos (Arrays)

Los arreglos son una de las estructuras de datos más básicas y comunes. Consisten en una colección de elementos, todos del mismo tipo, almacenados en posiciones contiguas de memoria. Los arreglos son eficientes para acceder a los elementos porque podemos hacerlo mediante un índice

No es posible asignar directamente un valor a todo el arreglo, pero hay maneras de hacerlo

Asignación

Consiste en asignarle un valor a cada elemento del arreglo.

Escritura

Este proceso consiste en leer un dato de un arreglo y asignar un valor a cada uno de sus componentes.

Lectura

Operaciones básicas

Se necesitan de algoritmos complejos para la busqueda de datos

Búsqueda

Estas operaciones son costosas porque requieren mover los elementos para mantener el orden del arreglo.

Eliminación

Dentro de esta operación se encuentran las operaciones de eliminar, insertar y modificar datos.

Actualización

Operaciones básicas

- Selección Directa,- Ordenación por Burbuja,- Ordenación por Mezcla

Algoritmos de Ordenación

+ info

Listas enlazadas (Linked Lists):

  • Las listas enlazadas son estructuras dinámicas compuestas por nodos, donde cada nodo contiene un valor y un puntero al siguiente nodo en la lista. A diferencia de los arreglos, las listas enlazadas no tienen un tamaño fijo y pueden crecer o reducirse según sea necesario

Operaciones Básicas

Esta operación consiste en agregar un nuevo nodo a la lista

Esta operación consiste en visitar cada uno de los nodos que forman la lista . Para recorrer todos los nodos de la lista

Inserción

Recorrido

Operaciones Básicas

. La operación de borrado consiste en quitar un nodo de la lista, redefiniendo las ligas que correspondan

Esta operación consiste en visitar cada uno de los nodos que forman la lista . Para recorrer todos los nodos de la lista

Búsqueda

Borrado

Las pilas no son estructuras de datos fundamentales, es decir, no están definidas como tales en los lenguajes de programación• Push: Añadir un elemento en la parte superior de la pila. • Pop: Quitar el elemento de la parte superior. • Peek: Ver el elemento en la parte superior sin eliminarlo.

Pilas (Stacks)

Las colas son estructuras de datos que siguen el principio FIFO, First In, First Out, donde el primer elemento en entrar es el primero en salir, similar a una fila de personas esperando. Las operaciones básicas incluyen: • Enqueue: Añadir un elemento al final de la cola. • Dequeue: Quitar un elemento del inicio de la cola. • Front: Obtener el primer elemento sin eliminarlo.

Colas (Queues)

En las bases de datos, las estructuras de datos juegan un papel clave. Por ejemplo, las tablas hash se utilizan para indexar datos, permitiendo búsquedas rápidas de registros específicos. Los árboles B y B+ son fundamentales en los sistemas de archivos y bases de datos para organizar y acceder a grandes volúmenes de datos de manera eficiente

Bases de datos y almacenamiento de información

Algoritmos y procesamiento de datos

  • Las estructuras de datos también son cruciales para los algoritmos que procesan datos. Por ejemplo, las colas de prioridad y los heaps se utilizan en algoritmos de planificación de tareas y en sistemas operativos para gestionar procesos y recursos.

En el desarrollo de software, las estructuras de datos optimizan la experiencia del usuario y el rendimiento de las aplicaciones. Por ejemplo, las pilas se usan en la implementación de funciones de deshacer y rehacer en aplicaciones de edición, como procesadores de texto.

Desarrollo de software y aplicaciones web

¡Muchas gracias!

¿Tienes una idea?

Usa este espacio para añadir una interactividad genial. Incluye texto, imágenes, vídeos, tablas, PDFs… ¡incluso preguntas interactivas!Tip premium: Obten información de cómo interacciona tu audiencia:

  • Visita las preferencias de Analytics;
  • Activa el seguimiento de usuarios;
  • ¡Que fluya la comunicación!

¿Tienes una idea?

Usa este espacio para añadir una interactividad genial. Incluye texto, imágenes, vídeos, tablas, PDFs… ¡incluso preguntas interactivas!Tip premium: Obten información de cómo interacciona tu audiencia:

  • Visita las preferencias de Analytics;
  • Activa el seguimiento de usuarios;
  • ¡Que fluya la comunicación!