Está en la página 1de 8

Acapulco,Gro.

22/febre/2023 ESTRUCTURA DE
DATOS LINEALES
PROFESOR: Luis Ramos Baños

Materia: Aplica estructura de datos


CENTRO DE ESTUDIOS
TECNOLOGICOS,INDUSTRIALES Y DE SERVISIOS
Allan Said Romero Melo
En ciencias de la computación, una estructura de datos1 es una forma particular de organizar
información en un computador para que pueda ser utilizada de manera eficiente.234 Diferentes
tipos de estructuras de datos son adecuados para diferentes tipos de aplicaciones, y algunos son
altamente especializados para tareas específicas.

Las estructuras de datos son medios para manejar grandes cantidades de información de manera
eficiente para usos tales como grandes bases de datos y servicios de indización de Internet. Por lo
general, las estructuras de datos eficientes son clave para diseñar algoritmos eficientes. Algunos
métodos formales de diseño de lenguajes de programación destacan las estructuras de datos, en
lugar de los algoritmos, como el factor clave de organización en el diseño de software. Más
precisamente, una estructura de datos es una colección de valores, las relaciones entre ellos y las
funciones y operaciones que se pueden aplicar a los datos.5 es decir, es una estructura
algebraica de datos.

Tipos de estructura de datos

Las estructuras de datos pueden ser de diferentes tipos, dependiendo de la técnica que se utilice
para su almacenamiento y recuperación, estos tipos son los siguientes:

•Estructura de datos estática.

•Estructura de datos dinámica.

Según la secuencia que se presenta entre cada elemento al momento de realizar el recorrido entre
los elementos de la estructura de datos, esta se puede clasificar en los siguientes tipos:

•Estructura de datos lineal.

•Estructura de datos no lineal.


Tipos de listas enlazadas

Listas simples enlazadas

Es una lista enlazada de nodos, donde cada nodo tiene un único campo de enlace. Una variable de
referencia contiene una referencia al primer nodo, cada nodo (excepto el último) enlaza con el
nodo siguiente, y el enlace del último nodo contiene NULL para indicar el final de la lista. Aunque
normalmente a la variable de referencia se la suele llamar top, se le podría llamar como se desee.

Una lista simplemente enlazada que contiene tres valores enteros

Listas doblemente enlazadas

Artículo principal: Lista doblemente enlazada

Un tipo de lista enlazada más sofisticado es la lista doblemente enlazada o lista enlazadas de dos
vías. Cada nodo tiene dos enlaces: uno apunta al nodo anterior, o apunta al valor NULL si es el
primer nodo; y otro que apunta al nodo siguiente, o apunta al valor NULL si es el último nodo.

En algún lenguaje de muy bajo nivel, XOR-Linking ofrece una vía para implementar listas
doblemente enlazadas, usando una sola palabra para ambos enlaces, aunque esta técnica no se
suele utilizar.

Una lista doblemente enlazada que contiene tres valores enteros

Listas enlazadas circulares

En una lista enlazada circular, el primer y el último nodo están unidos juntos. Esto se puede hacer
tanto para listas enlazadas simples como para las doblemente enlazadas. Para recorrer una lista
enlazada circular podemos empezar por cualquier nodo y seguir la lista en cualquier dirección
hasta que se regrese hasta el nodo original. Desde otro punto de vista, las listas enlazadas
circulares pueden ser vistas como listas sin comienzo ni fin. Este tipo de listas es el más usado para
dirigir buffers para “ingerir” datos, y para visitar todos los nodos de una lista a partir de uno dado.

Una lista enlazada circular que contiene tres valores enteros

Listas enlazadas simples circulares


Cada nodo tiene un enlace, similar al de las listas enlazadas simples, excepto que el siguiente nodo
del último apunta al primero. Como en una lista enlazada simple, los nuevos nodos pueden ser
solo eficientemente insertados después de uno que ya tengamos referenciado. Por esta razón, es
usual quedarse con una referencia solamente al último elemento en una lista enlazada circular
simple, esto nos permite rápidas inserciones al principio, y también permite accesos al primer
nodo desde el puntero del último nodo.1

Listas enlazadas doblemente circulares

En una lista enlazada doblemente circular, cada nodo tiene dos enlaces, similares a los de la lista
doblemente enlazada, excepto que el enlace anterior del primer nodo apunta al último y el enlace
siguiente del último nodo, apunta al primero. Como en una lista doblemente enlazada, las
inserciones y eliminaciones pueden ser hechas desde cualquier punto con acceso a algún nodo
cercano. Aunque estructuralmente una lista circular doblemente enlazada no tiene ni principio ni
fin, un puntero de acceso externo puede establecer el nodo apuntado que está en la cabeza o al
nodo cola, y así mantener el orden tan bien como en una lista doblemente enlazada.

Nodos centinelas

A veces las listas enlazadas tienen un nodo centinela (también llamado falso nodo o nodo ficticio)
al principio o al final de la lista, el cual no es usado para guardar datos. Su propósito es simplificar
o agilizar algunas operaciones, asegurando que cualquier nodo tiene otro anterior o posterior, y
que toda la lista (incluso alguna que no contenga datos) siempre tenga un “primer y último” nodo.

Aplicaciones de las listas enlazadas

Las listas enlazadas son usadas como módulos para otras muchas estructuras de datos, tales como
pilas, colas y sus variaciones.

El campo de datos de un nodo puede ser otra lista enlazada. Mediante este mecanismo, podemos
construir muchas estructuras de datos enlazadas con listas; esta práctica tiene su origen en el
lenguaje de programación Lisp, donde las listas enlazadas son una estructura de datos primaria
(aunque no la única), y ahora es una característica común en el estilo de programación funcional.

A veces, las listas enlazadas son usadas para implementar vectores asociativos, y estas en el
contexto de las llamadas listas asociativas. Hay pocas ventajas en este uso de las listas enlazadas;
hay mejores formas de implementar estas estructuras, por ejemplo con árboles binarios de
búsqueda equilibrados. Sin embargo, a veces una lista enlazada es dinámicamente creada fuera de
un subconjunto propio de nodos semejante a un árbol, y son usadas más eficientemente para
recorrer esta serie de datos.
Aplicaciones de las listas enlazadas

Las listas enlazadas son usadas como módulos para otras muchas estructuras de datos, tales como
pilas, colas y sus variaciones.

El campo de datos de un nodo puede ser otra lista enlazada. Mediante este mecanismo, podemos
construir muchas estructuras de datos enlazadas con listas; esta práctica tiene su origen en el
lenguaje de programación Lisp, donde las listas enlazadas son una estructura de datos primaria
(aunque no la única), y ahora es una característica común en el estilo de programación funcional.

A veces, las listas enlazadas son usadas para implementar vectores asociativos, y estas en el
contexto de las llamadas listas asociativas. Hay pocas ventajas en este uso de las listas enlazadas;
hay mejores formas de implementar estas estructuras, por ejemplo con árboles binarios de
búsqueda equilibrados. Sin embargo, a veces una lista enlazada es dinámicamente creada fuera de
un subconjunto propio de nodos semejante a un árbol, y son usadas más eficientemente para
recorrer esta serie de datos.

EN CONCLUCION….

LAS Listas Enlazadas al igual que las pilas y las colas, son
una estructura de datos de tipo lineal diferenciándose de las anteriores
en el hecho de que pueden las inserciones y eliminaciones se en
cualquier parte de la lista. Esto hace que tengan mayor aplicabilidad en el
entorno real.
PILAS

A nivel lógico las pilas son definidas como un tipo de estructuras de datos lineal condicionadas,
compuestas de elementos del mismo tipo donde las inserciones y eliminaciones se realizan por un
mismo extremo, el extremo superior de la pila, que también se le conoce como Cima o Tope. Se
considera como un grupo ordenado de elementos clasificados de acuerdo al tiempo en que han
sido insertados o almacenados en la pila, el elemento que se elimina de la cabeza es siempre el
que lleve menos tiempo en ella. En resumen una pila es una lista en la cual los elementos solo
pueden ser insertados y eliminados por un único extremo. De tal manera que el último elemento
en entrar es el primero en salir, las pilas son conocidas como listas LIFO por el acrónimo en inglés
(Last Input, First Out).

Mientras que a nivel físico, las pilas pueden ser representadas gráficamente con numerosas
analogías en la vida real, por ejemplo: pila de platos, una pila de monedas, una pila de discos, etc.
Como se muestra en la imagen siguiente.

Operaciones a realizar con pilas

Se listan las operaciones básicas que se pueden realizar con la implementación de las pilas:

Insertar un elemento a la pila.

Visualizar los elementos de la pila

Eliminar elementos de la pila

Buscar elementos de la pila.

La representación en memoria de las estructuras de datos tipo pilas para efectos de su


implementación se puede lleva a cabo haciendo uso de apuntadores con listas enlazadas y
también por medio de arreglos unidimensionales.

ENCONCLUCION….
A nivel lógico las pilas son definidas como un tipo de estructuras de
datos lineal condicionadas, compuestas de elementos del mismo tipo
donde las inserciones y eliminaciones se realizan por un mismo extremo,
el extremo superior de la pila, que también se le conoce como Cima o
Tope.
COLAS

Las colas al igual que las pilas, son una estructuras de datos lineales y condicionadas, para el caso
de las colas las inserciones y eliminaciones se realizan por extremos diferentes. en este apartado
se abordan los temas relacionados con los conceptos básicos de las colas, las operaciones que se
pueden realizar con programas de aplicación, implementados con apuntadores haciendo uso de la
gestión dinámica de memoria.

El menú de opciones es el ingrediente principal para cada programa, lo que permite la interacción
del usuario con las funciones para la inserción, visualización, eliminación y búsqueda de datos en
la cola. Aplicación de las estructuras de datos tipo colas

En la vida real se tiene ejemplos numerosos de colas: la cola de un autobuses, cola para ingresar al
cine, caravana de coches en una calle, etc. En todas ellas el primer elemento (pasajero, coche, etc)
que llega es el primero que sale.

Las colas se usan para almacenar datos que necesitan ser procesados según el orden de llegada.
Una aplicabilidad de las colas puede realizarse en un sistema de informático manejado a través de
una red de computadoras donde se comparte una sola impresora para todos los equipos
conectados a la red; de tal manera que se imprimirán los documentos en el orden en que se hace
la petición de impresión de cada usuario. Formando así una cola de impresión.

Una muy buena implementación de las colas como solución a una situación del entorno podría
realizarse un programa para manejar un planificador de citas en un consultorio médico, de tal
manera que cada solicitud de una cita se va almacenando en la cola, los datos requeridos podrían
ser: el nombre del paciente y la fecha y hora de la cita, la atención por parte del medico será en el
mismo orden de fecha y hora en que se registró la cita.

En general, en una cola es una situación que vivimos a diario, el primero que llega será atendido
de primero, pasando a continuación el segundo de la cola al frente, y cada que llega un nuevo
usuario este se colocará al final de la cola. De aquí que el extremo por donde se insertan los
elementos se llamará «final» y por donde se retiran se llama «frente».

EN CONCLUSION ….

Una cola se puede definir como una estructura lineal de datos condicionada, en la que las
eliminaciones se realizan al principio de la lista, es decir, al frente, y las inserciones se realizan en
el extremo opuesto de la lista, es decir, al final.
•Estructura de datos - Wikipedia, la enciclopedia libre

•Lista enlazada - Wikipedia, la enciclopedia libre

•Estructuras de datos Lineales/ Pilas | Estructuras de datos (wordpress.com)

•Estructuras de datos lineales/ Colas | Estructuras de datos (wordpress.com)

También podría gustarte