Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Estructura de Datos: Tipos Abstractos de Datos y Memoria, Resúmenes de Tecnologías de la Información y la Comunicación

Los conceptos básicos de Estructura de Datos, centrándose en los Tipos Abstractos de Datos (TDA) y la memoria en informática. Se explican los TDA, su especificación y modularidad, y se da una introducción a listas enlazadas y arreglos. También se aborda la memoria estática y dinámica, con ejemplos y ventajas e inconvenientes de ambas. El documento incluye un ejemplo de programa en C que utiliza memoria dinámica.

Tipo: Resúmenes

2020/2021

Subido el 17/06/2021

froywan
froywan 🇲🇽

1 documento

1 / 9

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Estructura de Datos
Instituto Superior Rosario Castellanos
19 de abril de 2021
Índice
Introducción a la estructura de datos 1
TiposdedatosAbstractos......................................... 2
Modularidad ................................................ 2
UsosdelTDA................................................ 3
Referencias ................................................. 5
¿Qué es la memoria? 5
Referencias ................................................. 6
Recursividad 7
Definición.................................................. 7
Procedimientos recursivos 7
Ejemplos .................................................. 8
Referencias ................................................. 9
Introducción a la estructura de datos
Estructura de datos se refiere a las distintas estructuras que utilizamos para representar, almacenar y manipular
la información en un ordenador, es decir la representación organizada de un conjunto de información.
En el siguiente diagrama se muestra la manera en que se componen los elementos de la Estructura de Datos
Figura 1: Estructura De Datos
Aplicaciones de las estructuras de datos:
1
pf3
pf4
pf5
pf8
pf9

Vista previa parcial del texto

¡Descarga Estructura de Datos: Tipos Abstractos de Datos y Memoria y más Resúmenes en PDF de Tecnologías de la Información y la Comunicación solo en Docsity!

Estructura de Datos

Instituto Superior Rosario Castellanos

19 de abril de 2021

Índice

Introducción a la estructura de datos 1 Tipos de datos Abstractos......................................... 2 Modularidad................................................ 2 Usos del TDA................................................ 3 Referencias................................................. 5

¿Qué es la memoria? 5 Referencias................................................. 6

Recursividad 7 Definición.................................................. 7

Procedimientos recursivos 7 Ejemplos.................................................. 8 Referencias................................................. 9

Introducción a la estructura de datos

Estructura de datos se refiere a las distintas estructuras que utilizamos para representar, almacenar y manipular la información en un ordenador, es decir la representación organizada de un conjunto de información.

En el siguiente diagrama se muestra la manera en que se componen los elementos de la Estructura de Datos

Figura 1: Estructura De Datos

Aplicaciones de las estructuras de datos:

En la actualidad las estructuras de datos son importantes en el modelamiento y solución de problemas, caracterizándose por sus procesos eficaces para la manipulación y el tratamiento de la información.

Ejemplos: buscadores web, mapas por ejemplo vas al banco a pagar un recibo, debes hacer una fila par ser atendido, esto modela una estructura.

Tipos de datos Abstractos

Los tipos de datos abstractos (TDA) son un conjunto de datos u objetos cuya representación ha sido abstraída en su tipo y cuyos datos solo se puede acceder a través de un conjunto de operaciones en algún lenguaje de programación.

Operaciones básicas: Insertar, eliminar, buscar, vaciar, Inicializar.

Un tipo de dato abstracto es un tipo de dato creado por el programador por medio de la representación (los datos que almacena el TDA) y de las operaciones (funciones que manipulan esos datos).

Un TDA consta de dos partes:

Interfaz: parte visible que utiliza el programador que está utilizando el TDA. Implementación: parte oculta (estructura de datos e implementación de los métodos).

Figura 2: Tipos de Datos Abstractos

Especificación de un TDA

Formal: tipo, sintaxis, semántica. Informal: consta de dos partes, la descripción del TDA y operaciones del TDA.

Modularidad

El modularidad se basa en la descomposición de un problema en una serie de sub-problemas; dividiéndolo en módulos que resultan de segmentar el problema en funciones lógicas que son perfectamente diferenciadas. Esta división exige la presencia de un módulo denominado módulo de base o principal a objeto de que controle y se relacione con los demás. (Osvaldo Cairó)

Es la agrupación de los objetos en módulos(métodos)

Para qué sirve la modularidad:

Para reutilizar código Para comprender de manera más legible el código Para tener un orden y una estructura Para separar tareas(métodos)

Que contiene un método:

Su respectivo nombre Recibe parámetros o argumentos Acciones o Instrucciones a realiza

Ejemplo: El array lineal de una lista de estudiantes, consta de 7 elementos, que son los 7 nombres de los estudiantes:

Figura 6: Arreglo Lineal

Los arrays lineales también reciben el nombre de arrays unidimensionales, debido a que cada elemento hace referencia a través de un solo subíndice o posición.

Los arrays bidimensionales, son una colección de datos que pertenecen a una misma identidad, donde cada elemento es referido por dos índices, también llamados “matrices” en matemáticas.

Los arrays multidimensionales:

Figura 7: Arreglo Multidimencional

VIDEO

Observa la siguiente presentación en la cual encontrarás la clasificación de las estructuras de datos, los tipos de datos, ejemplos, manejo de memoria y como información extra el tema de análisis de algoritmos que te

servirá en los temas posteriores.

Observa la siguiente presentación en la cual encontrarás la clasificación de las estructuras de datos, los tipos de datos, ejemplos, manejo de memoria y como información extra el tema de análisis de algoritmos que te servirá en los temas posteriores.

Nombre: Estructura de datos Presentacion Estructura de Datos

Referencias

Cairó, O. (s.f.). Estructura de Datos Tercera Edición. México: Mc Graw Hill. Pérez, S. (2004). Introducción a las estructuras de datos y archivos. Recuperado de http://www.edutecne. utn.edu.ar/estruc-datos/estruc-datos.pdf Sandoval, J. (2017). Estructura de datos-unida 1: introducción a las estructuras de datos Sitio web: https://es.slideshare.net/JosAntonioSandovalAc/estructura-de-datos-unidad-1-introduccin-a-las- estructuras-de-datos Sandoval, J. (2017). Estructura de datos-unida 1: introducción a las estructuras de datos Sitio web: https://es.slideshare.net/JosAntonioSandovalAc/estructura-de-datos-unidad-1-introduccin-a-las- estructuras-de-datos

¿Qué es la memoria?

La memoria es un espacio lógico para guardar información, son dispositivos que retienen datos en algún intervalo de tiempo.

Memoria estática: almacena el contenido de una variable a lo largo de la ejecución del programa sin que se modifique. Para que un objeto pueda ser almacenado en la memoria estática, su tamaño debe ser conocido al momento de ejecutarse.

Ventajas de la memoria estática:

La velocidad de acceso es alta Son más fáciles de diseñar Utilizan una lógica simple

Desventajas:

No se puede modificar el tiempo de la estructura en tiempo de ejecución No es óptimo con grandes cantidades de datos Desperdicio de memoria cuando no se utiliza en su totalidad Mayor consumo de potencia

Memoria dinámica: es un espacio de almacenamiento, el cual se va solicitando durante el tiempo de ejecución, es decir a medida que el programa va necesitando más espacio, este va solicitando más memoria al sistema operativo.

Ejemplo:

Existen dos grandes niveles de memoria, la memoria estática, por ejemplo, cada vez que declaramos una variable sencilla por ejemplo int x = 10, esta se almacenara en la memoria estática, pero al momento que se termina la ejecución de la función, en ese momento se pierde el valor de x que se almaceno.

Por otro lado, tenemos a la memoria dinámica, en esta parte del computador podemos almacenar objetos sin ningún orden lógico, pero la ventaja es que podemos guardarlos y al finalizar la ejecución del programa el valor de la variable no se pierde, y por ende ocuparan un espacio en la memoria.

Recursividad

Definición

La recursividad es una técnica de programación que se utiliza para hacer una llamada a una función desde la misma función, y puede introducir algoritmos cortos y eficientes.

Por ejemplo, una función de tamaño N, la cual puede ser dividida en instancias más pequeñas menores que N, resolver un problema mediante recursión significa que la solución depende de las pequeñas instancias del mismo programa.

Propiedades de la recursividad

Debe existir un criterio base, para que la función no se refiera a sí mismas Cada vez que la función se refiera a sí misma, el argumento de la función debe acercarse más al valor base

Ejemplo de algoritmo recursivo:

f ( x ) = yf ( x )

Procedimientos recursivos

Un procedimiento recursivo es aquel que se llama así mismo, solo que este no regresa su valor, cada método, función o procedimiento, tienen ciertas reglas, las cuales se mencionan a continuación:

Primero obtener una función exacta del problema a resolver. A continuación, determinar el tamaño del problema completo que hay que resolver, este tamaño determina los valores de los parámetros en la llamada inicial al procedimiento o función. Resolver el caso base en el que el problema puede expresarse no recursivamente, esto asegura una respuesta afirmativa a la pregunta base. Por último, resolver el caso general correctamente en términos de un caso más pequeño del mismo problema, es decir una respuesta afirmativa a las preguntas 2 y 3 del método de las 3 preguntas.

El siguiente es el pseudocódigo de la función factorial

Función FACTORIAL(n)

Inicio

Si n = 0 entonces

FACTORIAL = 1

Si no

FACTORIAL= n*FACTORIAL(n-1)

Fin si

fin Función

Se observa que esta definición es recursiva, ya que se llama así misma la función factorial para obtener su resultado.

Los procedimientos recursivos o recurrentes se pueden clasificar en dos formas distintas:

Recursividad directa

Recursividad indirecta

La recursividad directa se presenta cuando el método se manda llamar a sí mismo una o más veces directamente.

La recursividad indirecta define una serie de programas en los que se llaman unos a otros.

Ejemplos

La solución recursiva para sumar dos números enteros se basa en lo siguiente:

Caso Base:

Si uno de los números es igual a cero, la suma es el otro número.

Por ejemplo, si queremos sumar a=3 y b=0 la suma es igual a a: suma=

si a == 0

la suma es b

sino si b == 0

la suma es a

Procedimiento recursivo:

Si ninguno de los dos números a sumar es igual a cero, la suma de ambos la podemos expresar como:

suma = 1 + suma ( a, ( b − 1))

Por ejemplo:

Dados los números a=3 y b =

la suma de 3 + 4 es igual que sumar 1 + (3 + 3)

A su vez, sumar 3 + 3 es igual que 1 + (3 + 2)

Si repetimos el proceso hasta que b sea 0 obtendremos la suma de forma recursiva:

Figura 9: Ejemplo Recursividad

En el siguiente documento podrás informarte más a cerca de la recursividad, el documento contiene 8 temas con ejemplos para su mayor comprensión, de esta manera podrás tener un panorama más amplio que te servirá para la comprensión de las unidades posteriores

Presentación