Want to make creations as awesome as this one?

More creations to inspire you

Transcript

Gutiérrez Hernández AlisonHernández Sanchez Dafne CamilaHerrera Chávez Eva Yazid

EMPEZAR

ESTRUCTURAS DE DATOS, ARREGLOS Y REGISTROS

ÍNDICE

1. ESTRUCTURAS DE DATOS

2. ARREGLOS

3. REGISTROS

4. CRÉDITOS

DEFINICIÓN

FUNCIÓN

CARACTERÍSTICAS

APLICACIÓN

EJEMPLOS

Bibliografía

ALUMNA

ESTRUCTURAS DE DATOS

Herrera Chávez Eva Yazid

ESTRUCTURAS DE DATOS

DEFINICIÓN

Las estructuras de datos son herramientas nativas del lenguaje que permiten organizar, almacenar y manipular datos de forma eficiente. Son fundamentales en la programación, ya que permiten almacenar diferentes tipos de datos y aplicar operaciones complejas sobre ellos de manera eficiente.

ESTRUCTURAS DE DATOS

FUNCIÓN

Su función principal es organizar los datos de manera que se facilite su uso y manipulación en programas. Esto incluye operaciones como inserción, eliminación, búsqueda, actualización y ordenación de datos. Una buena estructura de datos permite optimizar los recursos y mejorar el rendimiento de un programa.

ESTRUCTURAS DE DATOS

APLICACIÓN

  • Las estructuras de datos se utilizan en una variedad de aplicaciones que facilitan el almacenamiento, organización y manipulación de información.
1. ListasSe utilizan para almacenar datos en un orden específico, permitiendo acceso, modificación y eliminación de elementos fácilmente.2. Listas enlazadasFacilitan la inserción y eliminación de elementos sin necesidad de reorganizar toda la estructura, a diferencia de un arreglo.3. Conjuntos:Almacenan elementos únicos y permiten realizar operaciones como intersección, unión y diferencia.4. Colas de Prioridad:Almacenan elementos de acuerdo con su prioridad y son útiles para sistemas que dependen de tareas prioritarias, como la gestión de procesos en un sistema operativo.

ESTRUCTURAS DE DATOS

EJEMPLOS

Registros (Structs):Estructuras que permiten agrupar diferentes tipos de datos bajo un solo nombre. Común en lenguajes como C.Clases:Plantillas en la programación orientada a objetos que permiten crear objetos que encapsulan datos y métodos.Listas enlazadas (Linked Lists):Estructuras donde cada elemento (nodo) contiene un valor y un puntero al siguiente nodo, permitiendo una inserción y eliminación eficientes.Pilhas (Stacks): Estructuras que siguen el principio LIFO (último en entrar, primero en salir). Se utilizan para almacenar datos temporalmente.

ESTRUCTURAS DE DATOS

CARACTERÍSTICAS

1. Organización de Datos:Las estructuras de datos organizan los datos de manera que se puedan acceder y manipular fácilmente. Esta organización puede ser lineal (como arreglos y listas) o no lineal (como árboles y grafos).2. Acceso a Datos:Las estructuras de datos definen cómo se puede acceder a los datos. Algunas permiten el acceso aleatorio (por ejemplo, arreglos), mientras que otras requieren un acceso secuencial (por ejemplo, listas enlazadas).3. Almacenamiento Eficiente:Diferentes estructuras de datos utilizan memoria de manera diferente. Algunas pueden ser más eficientes en términos de espacio, mientras que otras pueden ofrecer un acceso más rápido a los datos.4. Tipos de Datos:Algunas estructuras de datos son homogéneas (como arreglos, que contienen solo un tipo de datos) y otras son heterogéneas (como registros o clases, que pueden contener diferentes tipos de datos).

DEFINICIÓN

FUNCIÓN

CARACTERÍSTICAS

APLICACIÓN

EJEMPLOS

TIPOS

Bibliografía

ALUMNA

ARREGLOS

Gutiérrez Hernández Alison

A R R E G L O S

DEFINICIÓN

P A R T E S

Diferencia con las LISTAS

EJEMPLO

Declaración

Un arreglo en Python es una estructura de datos que permite almacenar múltiples elementos de un mismo tipo de datos en posiciones de memoria contiguas. Aunque Python utiliza listas para almacenar datos, los arreglos son una opción más eficiente para manejar datos homogéneos y realizar operaciones matemáticas rápidamente. En Python, el módulo array y especialmente la librería NumPy son los recursos principales para trabajar con arreglos.

A R R E G L O S

FUNCIÓN

EJEMPLO DE LA FUNCIÓN

Los arrays en Python son útiles cuando necesitamos almacenar valores de un mismo tipo de dato. Guardar estos valores en un array facilita el cálculo de la posición de cada elemento agregando un desplazamiento a un valor base, es decir, la ubicación en memoria del primer elemento del array.Así pues, los arrays sirven para guardar valores múltiples del mismo tipo de dato que no se pueden alojar en una sola variable. Gracias a su estructura, los arreglos permiten realizar operaciones vectoriales o matriciales con mucha eficiencia, facilitando tareas que implican cálculos repetitivos sobre grandes conjuntos de datos.

A R R E G L O S

CARACTERÍSTICAS

  • Datos Homogéneos: Todos los elementos deben ser del mismo tipo, lo que mejora la eficiencia en comparación con las listas heterogéneas.
  • Eficiencia en Memoria y Velocidad: Almacenados en memoria contigua, los arreglos permiten un acceso y procesamiento de datos más rápido.
  • Compatibilidad con Operaciones Matemáticas: Librerías como NumPy facilitan operaciones vectorizadas, es decir, aplicar una operación a todos los elementos sin necesidad de un bucle explícito.
  • Soporte Multidimensional: Python admite arreglos de múltiples dimensiones (como matrices), lo que permite el procesamiento de datos complejos como imágenes y tablas.

A R R E G L O S

APLICACIÓN

1. Almacenamiento de datos similares: Los arrays permiten agrupar datos homogéneos, como las notas de un grupo de estudiantes, en un solo lugar, facilitando su manejo y acceso rápido.2. Operaciones repetitivas y manipulación eficiente de datos: En casos donde se necesitan realizar operaciones sobre cada elemento de un conjunto, como calcular la suma o el promedio de todos los elementos, los arrays resultan más eficientes, ya que permiten recorrer todos los datos bucles optimizados.3. Mantener un orden específico: Los arrays también son útiles cuando es importante que los elementos estén ordenados. Por ejemplo, almacenar una lista de nombres y ordenarlos alfabéticamente es más sencillo con arrays, ya que permiten aplicar algoritmos de ordenamiento que procesan los elementos de manera continua.4. Representación de matrices y tablas: En aplicaciones como videojuegos o modelos matemáticos, los arrays pueden representar estructuras complejas como tablas o cuadrículas. Por ejemplo, en videojuegos se pueden utilizar para representar la ubicación de personajes o elementos en una cuadrícula, lo que facilita la programación de sus posiciones o estados.En resumen, los arrays son herramientas versátiles que optimizan el almacenamiento, manipulación y organización de datos homogéneos, y son fundamentales para tareas que requieren eficiencia en el manejo de datos ordenados o estructurados.

A R R E G L O S

EJEMPLOS

EJEMPLO 1

EJEMPLO 2

Ejemplos de búsqueda con iteración for:

A R R E G L O S

TIPOS

UNIDIMENSIONAL

OPERACIONES

MULTIDIMENSIONAL

Los arreglos pueden ser unidimensionales y multidimensionales, además, ambas cumplen con cierto tipo de operaciones que tienen su propia clasificación:

DEFINICIÓN

FUNCIÓN

CARACTERÍSTICAS

APLICACIÓN

EJEMPLOS

Bibliografía

ALUMNA

REGISTROS

Hernández Sánchez Dafne Camila

DEFINICIÓN

Un registro es una estructura compuesta por diversos tipos de datos que se agrupan en una misma variable o por un conjunto de elementos. Estos campos representan las propiedades o atributos de una entidad real o abstracta. La utilización de un registro es apropiada cuando se desea manejar datos relacionados sin importar sus tipos, bajo una misma unidad.

Por ejemplo, si se desea crear un programa que permita calcular el sueldo que pagar a los empleados de una institución, se debe conocer el nombre y apellido junto con el monto para pagar de cada empleado. Toda esta información en conjunto (registro) caracteriza a un empleado. Los datos que forman parte de esta colección son de distinto tipo, por lo tanto, no es posible utilizar un arreglo para almacenarlos, pero sí es posible utilizar registros.

FUNCIÓN

La función principal de los registros como estructura de datos es agrupar y organizar información relacionada bajo un mismo nombre, contiene otras funciones como:Agrupación de datos relacionados: Permiten agrupar datos que están estrechamente vinculados, como los datos de una persona (nombre, dirección, teléfono), un producto (nombre, precio, descripción) o un empleado (nombre, salario, departamento).Modularidad: Facilitan la creación de estructuras de datos más complejas, ya que pueden ser utilizadas como componentes básicos para construir otras estructuras.Reutilización: Una vez definido un registro, puede ser utilizado en múltiples partes de un programa, evitando la duplicación de código.

CARACTERÍSTICAS

  • Los nombres de los campos deben ser únicos.
  • Los valores no son evaluados hasta que se accede al campo correspondiente.
  • Los valores son evaluados como mucho una vez.
  • El orden de los campos es el determinado por la expresión que genere el registro.
  • Un registro permite agrupar diferentes tipos de datos bajo un mismo nombre. Por ejemplo, en un registro de "Persona", podemos incluir campos como "nombre", "edad", "dirección" y "teléfono".
  • Cada uno de los elementos que componen un registro se denomina campo. Los campos pueden ser de distintos tipos de datos (enteros, flotantes, caracteres, cadenas, etc.).
  • El tamaño de un registro es la suma del tamaño de todos sus campos.
  • Se puede acceder a cada campo de un registro individualmente utilizando el operador punto (.) en la mayoría de los lenguajes de programación.
  • Los registros permiten crear estructuras de datos personalizadas para adaptarse a las necesidades específicas de una aplicación.
  • Los registros pueden ser utilizados como componentes básicos para construir estructuras de datos más complejas.

Por ejemplo, [nombre = "José", nombre = "Jorge"] no sería un registro válido.

EJEMPLOS

EJEMPLO 2

EJEMPLO 1

EJEMPLO 3

Ejemplos de registros:

APLICACIÓN

Bases de datos: Tablas: Cada fila de una tabla en una base de datos relacional puede considerarse un registro, donde cada columna representa un campo. Objetos: En bases de datos orientadas a objetos, los objetos se modelan utilizando registros para representar sus atributos y métodos. Simulaciones: Objetos: Los registros se utilizan para representar objetos en simulaciones, como partículas, vehículos, personas, etc. Estados: Se pueden utilizar para almacenar el estado de un sistema en un momento dado. Compiladores: Estructuras de datos: Los registros se utilizan para representar la estructura de los programas, como variables, funciones, tipos de datos, etc. Sistemas operativos: Procesos: Se utilizan para almacenar información sobre los procesos en ejecución, como su ID, estado, prioridad, etc. Archivos: Se utilizan para almacenar información sobre los archivos del sistema, como su nombre, tamaño, fecha de creación, etc.

¡GRACIAS POR VER!

EJEMPLO

structs anidados Podemos encontrarnos con un registro que tenga varios datos, y que a su vez ocurra que uno de esos datos esté formado por varios datos más sencillos. Por ejemplo, una fecha de nacimiento podría estar formada por día, mes y año. Para hacerlo desde C#, incluiríamos un "struct" dentro de otro, así:

OTRAS CARACTERÍSTICAS

Iteración: Puedes recorrer un array fácilmente mediante bucles, como «for» o «while», para realizar operaciones en cada elemento.Orden y Búsqueda: Los arrays son fundamentales para implementar algoritmos de ordenamiento y búsqueda debido a su estructura y capacidad de acceso rápido.

En resumen, los arrays tienen un tamaño fijo, almacenan elementos del mismo tipo de datos y permiten un acceso directo a través de índices, mientras que las listas son estructuras dinámicas, pueden almacenar elementos de diferentes tipos y ofrecen mayor flexibilidad en cuanto a inserción y eliminación de elementos.

  • Presentación / Plantilla: Alison Gutiérrez Hernández
  • Investigación ED: Eva Yazid Herrera Chávez
  • Investigación Arreglos: Alison Gutiérrez Hernández
  • Investigación Registros: Dafne Camila Hernández Sánchez

OPERACIONES DE LOS ARREGLOS

a) LECTURA: Este proceso consiste en leer un dato de un arreglo y asignar un valor a cada uno de sus componentes. La lectura se realiza de la siguiente manera:para i desde 1 hasta N hazx<--arreglo[i]b) ESCRITURA: Consiste en asignarle un valor a cada elemento del arreglo. La escritura se realiza de la siguiente manera:para i desde 1 hasta N hazarreglo[i]<--xc) ASIGNACION: No es posible asignar directamente un valor a todo el arreglo, por lo que se realiza de la manera siguiente:para i desde 1 hasta N hazarreglo[i]<--algún_valord) ACTUALIZACION: Dentro de esta operación se encuentran las operaciones de eliminar, insertar y modificar datos. Pararealizar este tipo de operaciones se debe tomar en cuenta si el arreglo está o no ordenado.

  • Moisset, D. (s. f.). Registros: conceptos. https://www.tutorialesprogramacionya.com/delphiya/detalleconcepto.php?punto=28&codigo=110&inicio=15
  • Moisset, D. (s. f.-a). Estructura de datos tipo registro (struct). https://www.tutorialesprogramacionya.com/cya/detalleconcepto.php?punto=27&codigo=27&inicio=15
  • Colaboradores de Wikipedia. (2024, 23 junio). Registro (estructura de datos). Wikipedia, la Enciclopedia Libre. https: https://es.wikipedia.org/wiki/Registro_(estructura_de_datos)
  • Ramirez, E. B. H. S. E. P. I. M. (s. f.). REGISTROS (RECORD). https://programacionunefa.blogspot.com/2008/06/registros-record.html?m=1
  • 4.3. Estructuras o registros - AprendeAProgramar.com. (s. f.). https://www.aprendeaprogramar.com/mod/resource/viiew.php?id=727
  • Características de los registros | Interactive Chaos. (s. f.). https://interactivechaos.com/es/manual/tutorial-de-m/caracteristicas-de-los-registros

BIBLIOGRAFÍA

BIBLIOGRAFÍA

1. Carrillo, A. G., & Fernández-Valdivia, J. (2006). Abstracción y Estructuras de Datos en C++. Delta Publicaciones. Recuperado el 27 de octubre de 2024 de https://books.google.es/books?hl=es&lr=&id=qXoVzD23DBsC&oi=fnd&pg=PA1&dq=estructuras+de+datos+programaci-.pdf2. Guardati, S. (2015). Estructuras de Datos Básicas: Programación orientada a objetos con Java. Alpha Editorial. Recuperado el 27 de octubre del 2024 de https://books.google.at/books?id=5ENzEAAAQBAJ3. Sznajdleder, P. (2017). Programacion Orientada a Objetos y Estructura de Datos a Fondo. Alpha Editorial. Recuperado el 27 de octubre del 2024 de https://books.google.at/books?id=ZPRyEAAAQBAJ&lpg=PR2&hl4. Oliet, N. M., Mallén, Y. O., & López, J. A. V. (2004). Estructuras de datos y métodos algorítmicos. Pearson Educación. Recuperado el 27 de octubre del 2024 de https://books.google.at/books?id=pwVv8SGVZtcC&lpge

EJEMPLO 1

EJEMPLO 2

DE UN ARRAY [ARREGLO]

P A R T E S

Se distinguen dos partes en los arreglos:

  • Los componentes. Hacen referencia a los elementos que componen o forman el arreglo. Es decir, son los valores que se almacenan en cada una de sus casillas.
  • Los índices. Son los que permiten acceder a los componentes del arreglo en forma individual. Es decir, la posición dentro del arreglo.
Para hacer referencia a un componente de un arreglo se necesita:
  • El nombre del arreglo
  • El índice del elemento

MULTIDIMENSIONAL

Un arreglo multidimensional en Python es una estructura de datos que permite almacenar elementos en forma de matrices o tablas. A diferencia de los arreglos unidimensionales, los arreglos multidimensionales tienen una o más dimensiones adicionales. Permiten una organización de datos más compleja y un acceso más eficiente a elementos específicos dentro de una estructura en cuadrículaEn Python, los arreglos multidimensionales se pueden representar utilizando la biblioteca NumPy, que proporciona un conjunto de funciones y clases para manipular arreglos de manera eficiente.

EJEMPLO

¿Cómo funcionan los arreglos?

Hay muchas formas de crear un array en Python, pero existen algunos aspectos a tener en cuenta que son indispensables en este proceso.

  • El índice de un array en Python comienza en 0 (representado dentro de corchetes: [0]). Por tanto, si queremos crear un array en Python de 20 puestos, ¿hasta qué número debemos definirlo? Sería hasta el 19, ya que el 0 es un valor que también se cuenta:

Podemos acceder a cada elemento dentro del array en Python a través de su índice. El índice es la posición del elemento dentro del array.

UNIDIMENSIONAL

Un arreglo se define como una colección finita, homogénea y ordenada de elementos como se ha definido antes pero se caracteriza por ser unidimensional porque tiene una solo dimensión como se muestra a continuación. Un arreglo tiene la característica de que puede almacenar a N elementos del mismo tipo y además permite el acceso a cada uno de estos elementos. Son listas o secuencias de datos organizados en una sola fila, permitiendo almacenar múltiples elementos del mismo tipo. Estos arreglos se utilizan para manejar datos que necesitan procesarse de forma lineal o secuencial, como listas de calificaciones, nombres o cualquier tipo de colección simple. Un arreglo unidimensional facilita operaciones como búsqueda o clasificación básica mediante algoritmos como la búsqueda lineal o binaria.

BIBLIOGRAFÍA

  • Navarro S. (2024, 20 de Junio). ¿Qué es un array en Python y cómo crear uno?. Recuperado el 27 de Octubre del 2024 de https://keepcoding.io/blog/que-es-un-array-en-python-y-como-crear-uno/
  • Gercía F. (2023) Que Es Un Arreglo Multidimensional En Python. Recuperado el 27 de Octubre del 2024 de https://programacion.top/python/que-es-un-arreglo-multidimensional-en-python/
  • jmjinformático (s.f) Guía completa: Manejo de arrays en Python para principiantes. Recuperado el 27 de Octubre del 2024 de https://jmjinformatico.es/arrays-en-python/?expand_article=1#_%C2%BFQu%C3%A9_es_un_array_en_Python_y_para_qu%C3%A9_se_utiliza?
  • Robledo I. , Mendoza A. y Perea R. (s.f) UNIDIMENSIONAL. Recuperado el 27 de Octubre del 2024 de https://www.uacj.mx/CGTI/CDTE/JPM/Documents/IIT/arreglos1/unidimensional.html
  • Robledo I. , Mendoza A. y Perea R. (s.f) DEFINICIÓN. Recuperado el 27 de Octubre del 2024 de https://www.uacj.mx/CGTI/CDTE/JPM/Documents/IIT/arreglos1/defincion.html
  • Mancino C. (s.f) Programaci´on usando Python. Recuperado el 27 de Octubre del 2024 de https://www.fceia.unr.edu.ar/~alpi/laboratorio/python2.pdf
  • Baltazar Gúzman F. J. (2019) Arrays and Structures. Recuperado el 27 de Octubre del 2024 de https://web.uaeh.edu.mx/docencia/P_Presentaciones/huejutla/sistemas/programa_estruc/arreglos.pdf

EJEMPLO GRÁFICO

(Sintaxis)

DECLARACIÓN

Sin la intención de seguir la sintaxis de algún lenguaje de programación, la definición del arreglo quedaría:

La declaración más básica de una lista en Python se realiza mediante el uso de corchetes.Veamos un ejemplo:

EJEMPLO

Arrays de structs Hemos guardado varios datos de una persona. Se pueden almacenar los de varias personas si combinamos el uso de los "struct" con las tablas (arrays) que vimos anteriormente. Por ejemplo, si queremos guardar los datos de 100 personas podríamos hacer:

La inicial de la primera persona sería "personas[0].inicial", y la edad del último sería "personas[99].edad". Al probar este programa obtenemos. La edad de Juan es 20 La edad de Pedro es 0 porque cuando reservamos espacio para los elementos de un "array" usando "new", sus valores se dejan "vacíos" (0 para los números, cadenas vacías para las cadenas de texto).