Está en la página 1de 6

Instituto Tecnológico Nacional de México

Campus Querétaro

Materia
Estructura de Datos

Tarea No. 1
Investigación Conceptos Básicos

Presenta:
Equipo 7

Integrantes
Montes Mendoza Enrique
no. control (21141426)

Villanueva Serrano Enrique Mexitli


no. control (21140837)

Xochitiotzi Rojas Shaina Alexandra


no. control (21140739)

Profesora Tutora
ISC Maribel Bueno Quiñones

Jueves 25 de Agosto del 2022

1
EQUIPO 8 Estructura de Datos

Investigación Conceptos Básicos


Una estructura de datos es una clase de datos que se puede caracterizar por su organización y
operaciones definidas sobre ella.

ESTRUCTURAS LÓGICAS DE DATOS


En un programa, cada variable pertenece a alguna estructura de datos explícita o implícitamente
definida, la cual determina el conjunto de operaciones válidas para ella. Las estructuras de datos
que se discuten aquí son estructuras de datos lógicas. Cada estructura de datos lógica puede tener
varias representaciones físicas diferentes para sus almacenamientos

a) ESTRUCTURA DE DATOS ESTÁTICAS:


Son aquellas en las que el espacio ocupado en memoria se define en tiempo de compilación y no
puede ser modificado durante la ejecución del programa. Entre ellas tenemos:
Arrays
Registros
Archivos

b) ESTRUCTURAS DE DATOS DINÁMICAS:


Son aquellas en las que el espacio ocupado en memoria puede ser modificado en tiempo de
ejecución.
Corresponden a este tipo:
Lineales (Pilas, Colas y listas enlazadas)
No lineales (árboles y grafos).

ESTRUCTURAS PRIMITIVAS Y SIMPLES


Son primitivas aquellas que no están compuestas por otras estructuras de datos por ejemplo,
enteros, booleanos y caracteres. Otras estructuras de datos se pueden construir de una o más
primitivas. Las estructuras de datos simples que consideramos se construyen a partir de
estructuras primitivas y son: cadenas, arreglos y registros. A estas estructuras de datos las
respaldan muchos lenguajes de programación.

ESTRUCTURAS LINEALES Y NO LINEALES


Las estructuras de datos simples se pueden combinar de varias maneras para formar estructuras
más complejas. Las dos cases principales de estructuras de datos son las lineales y las no lineales,
dependiendo de la complejidad de las relaciones lógicas que representan. Las estructuras de datos

T1 - 25 de Agosto del 2022 - Conceptos Básicos


2
EQUIPO 8 Estructura de Datos

lineales incluyen pilas, colas y listas ligadas lineales. Las estructuras de datos no lineales incluyen
grafos y árboles.

TIPOS DE DATOS ABSTRACTOS (TDA)


Un Tipo de dato abstracto (en adelante TDA) es un conjunto de datos u objetos al cual se le
asocian operaciones. El TDA provee de una interfaz con la cual es posible realizar las
operaciones permitidas, abstrayéndose de la manera en como estén implementadas dichas
operaciones. Esto quiere decir que un mismo TDA puede ser implementado utilizando distintas
estructuras de datos y proveer la misma funcionalidad.
TDA lista
Una lista se define como una serie de N elementos E1, E2,..., EN, ordenados de manera
consecutiva, es decir, el elemento Ek (que se denomina elemento k-ésimo) es previo al elemento
Ek+1. Si la lista contiene 0 elementos se denomina como lista vacía.

Las operaciones que se pueden realizar en la lista son: insertar un elemento en la posición k,
borrar el k-ésimo elemento, buscar un elemento dentro de la lista y preguntar si la lista está vacía.

Una manera simple de implementar una lista es utilizando un arreglo. Sin embargo, las
operaciones de inserción y borrado de elementos en arreglos son ineficientes, puesto que para
insertar un elemento en la parte media del arreglo es necesario mover todos los elementos que se
encuentren delante de él, para hacer espacio, y al borrar un elemento es necesario mover todos
los elementos para ocupar el espacio desocupado. Una implementación más eficiente del TDA se
logra utilizando listas enlazadas.

A continuación se presenta una implementación en Java del TDA utilizando listas enlazadas y
sus operaciones asociadas:

estaVacia(): devuelve verdadero si la lista está vacía, falso en caso contrario.


insertar(x, k): inserta el elemento x en la k-ésima posición de la lista.
buscar(x): devuelve la posición en la lista del elemento x.
buscarK(k): devuelve el k-ésimo elemento de la lista.
eliminar(x): elimina de la lista el elemento x.
TDA pila
Una pila (stack o pushdown en inglés) es una lista de elementos de la cual sólo se puede extraer
el último elemento insertado. La posición en donde se encuentra dicho elemento se denomina

T1 - 25 de Agosto del 2022 - Conceptos Básicos


3
EQUIPO 8 Estructura de Datos

tope de la pila. También se conoce a las pilas como listas LIFO (LAST IN - FIRST OUT: el
último que entra es el primero que sale).

La interfaz de este TDA provee las siguientes operaciones:


Apilar(x): inserta el elemento x en el tope de la pila (push en inglés).
Desapilar (): retorna el elemento que se encuentre en el tope de la pila y lo elimina de ésta
(pop en inglés).
Tope (): retorna el elemento que se encuentre en el tope de la pila, pero sin eliminarlo de
ésta (top en inglés).
Está Vacía (): retorna verdadero si la pila no contiene elementos, falso en caso contrario
(isEmpty en inglés).

EJEMPLOS DE TDA
¿Qué es un TDA?
El TDA matriz es una colección homogénea de longitud fija tal que cada una de sus
componentes pueden ser accedidas individualmente mediante uno o varios índices, que serán de
tipo ordinal y pueden hacer operaciones básicas como la suma, resta, negar algún tipo de
producto escalar o inversa

La abstracción funcional:
Permite dotar a la aplicación de operaciones que no están definidas en el lenguaje en el
que se está trabajando.
Se corresponden con el mecanismo del subprograma (acción que se realiza y argumentos
a través de los cuales toma información y devuelve resultados).
Es irrelevante cómo realiza la acción y no importa su tiempo de ejecución.

Las abstracciones de datos (= Clase):


Permiten utilizar nuevos tipos de datos que se definirán especificando sus posibles
valores y las operaciones que los manipulan.
Cada operación constituye una abstracción funcional.

MANEJO DE MEMORIA
La administración de memoria de una computadora es una tarea fundamental debido a que la
cantidad de memoria es limitada, siendo el sistema operativo el encargado de administrar la
memoria del sistema y compartirla entre los distintos usuarios y/o aplicaciones.
T1 - 25 de Agosto del 2022 - Conceptos Básicos
4
EQUIPO 8 Estructura de Datos

Memoria estática:
Es la memoria que se reserva en el momento de la compilación antes de ejecutar el programa, los
objetos son creados al iniciar el programa y borrados al finalizar y mantienen la misma
localización de memoria durante todo el transcurso del programa hasta que son borrados al
finalizar el programa, mientras el programa este siendo ejecutado la cantidad de memoria no
puede cambiar mientras este en ejecución el programa. Algunos lenguajes de programación
utilizan la palabra “static” para definir qué se debe de almacenar en la memoria estática.
Algunos elementos que se encuentran en la memoria estática son:
Código del programa
Las variables definidas en la sección principal del programa, las cuales solo pueden
cambiar su contenido más no su tamaño
Las variables declaradas como estáticas en otras clases o módulos

Memoria dinámica:
Es la memoria que no puede ser definida ya que no se conoce o no se tiene idea del número de la
variable a considerarse, lo que hace es solicitar memoria en tiempo de ejecución por lo que
cuanta más memoria necesite, más se le solicita al sistema operativo. Un dato importante es que
este tipo de datos se crean y se borran a la hora de ejecutar el programa. Cuando un programa
utiliza memoria dinámica lo que el sistema operativo hace es dividir el programa en 4 partes;
texto, datos estáticos, pila y una zona libre, en esa zona libre es donde queda la memoria libre
para poder utilizarla de forma dinámica.

Referencias
Kim Sorel Rub. (2022, Agosto 25). Unidad 1: Clasificación de estructuras de datos.
Blogspot.com. http://tesciedd.blogspot.com/2011/01/unidad-1-clasificacion-de-

estructuras.html

3.1 Estructura de datos. (2022). Itca.edu.sv.

https://virtual.itca.edu.sv/Mediadores/dlp/31_estructura_de_datos.html

(2022). Zyrosite.com. https://estructuradedatosbalv.zyrosite.com/about-me-copy-copy-

ehjecMOmuA

T1 - 25 de Agosto del 2022 - Conceptos Básicos


5
EQUIPO 8 Estructura de Datos

Tipo de Dato Abstracto. (Dakota del Norte). Google.com. Recuperado el 26 de agosto de

2022, de https://sites.google.com/site/programacioniiuno/temario/unidad-2---tipo-

abstracto-de-dato/tipo-de-dato-abstracto

Sin título. (s.f.). Google.com. Revisado Agosto 26, 2022, de:

https://www.google.com/url?sa=t&source=web&rct=j&url=https://ingenieriaticelaya.fi

les.wordpress.com/2014/09/manejo-de-memoria.pdf&ved=2ahUKEwjUloXYz-

T5AhXjnGoFHbx1DlMQFnoECEQQAQ&usg=AOvVaw19rv3QZooOZWEG81Yk8nl

Picand, Y., & Dutoit, D. (s.f.). Memoria dinámica : definición de Memoria dinámica y

sinónimos de Memoria dinámica (español). Sensagent. Revisado en Agosto 26, 2022,

de http://diccionario.sensagent.com/Memoria%20dinamica/es-es/

T1 - 25 de Agosto del 2022 - Conceptos Básicos


6

También podría gustarte