0% encontró este documento útil (0 votos)
24 vistas9 páginas

Estructura de Datos Lineales

Este documento describe diferentes tipos de estructuras de datos lineales como listas, pilas, colas y listas enlazadas. Explica que las listas pueden ser simples, ordenadas o doblemente enlazadas, y que las pilas y colas siguen los principios LIFO y FIFO respectivamente. También describe las características y operaciones de las listas enlazadas, incluyendo que cada nodo contiene información y un puntero al siguiente nodo, permitiendo que los nodos estén en cualquier parte de la memoria.

Cargado por

calderacesar2100
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
24 vistas9 páginas

Estructura de Datos Lineales

Este documento describe diferentes tipos de estructuras de datos lineales como listas, pilas, colas y listas enlazadas. Explica que las listas pueden ser simples, ordenadas o doblemente enlazadas, y que las pilas y colas siguen los principios LIFO y FIFO respectivamente. También describe las características y operaciones de las listas enlazadas, incluyendo que cada nodo contiene información y un puntero al siguiente nodo, permitiendo que los nodos estén en cualquier parte de la memoria.

Cargado por

calderacesar2100
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 9

REPÚBLICA BOLIVARIANA DE VENEZUELA

MINISTERIO DEL PODER POPULAR PARA LA EDUCACION UNIVERSITARIA


INSTITUTO UNIVERSITARIO TECNOLOGICO EDUCATIVO
¨MARIO BRICEÑO IRAGORRY¨

ESTRUCTURA DE DATOS
LINEALES

REALIZADO POR: CESAR CALDERA PROFESOR: JARVIS H.

MACHIQUES, AGOSTO DEL 2023


ESTRUCTURA DE DATOS LINEALES

1) Listas:
*Definición: Las listas son una sucesión de cero o más elementos.
Esta es una definición muy simple y que no aclara demasiado en términos
informáticos, así que profundizaremos un poco más.
Hay varios tipos de listas, las hay enlazadas, no enlazadas, ordenadas y no
ordenadas. Nosotros vamos a estudiar las listas enlazadas, tanto ordenadas
como no ordenadas.
La diferencia que existe entre las listas enlazadas y las no enlazadas es que
las enlazadas utilizan punteros, es decir, asignación dinámica de memoria, lo
que optimiza la gestión de la misma. Una lista no enlazada es un simple array,
y por lo tanto es un bloque contiguo de memoria, mientras que una lista
enlazada es un conjunto de nodos que no tienen porqué ocupar posiciones
contiguas de memoria.
La diferencia entre listas ordenadas y no ordenadas es obvia, las ordenadas
mantienen cierto orden entre sus elementos.
*Clasificación:
✓Listas simples:
Se definen como un conjunto de nodos uno detrás de otro, del cual siempre
se puede conocer al nodo inicial y al final, de cada nodo de la lista, se conoce
un contenido, que es la información que almacena dentro puede ser de
cualquier tipo de dato un sucesor único excepto el ultimo nodo de la lista.
✓Listas ordenadas:
Son las que la posición de cada nodo viene determinada por el valor de uno o
más campos obligatorios de información del nodo denominados clave No se
permite tener dos nodos con la misma clave.
✓Pilas:
Colección ordenada de elementos homogéneos en la que sólo se pueden
añadir y eliminar elementos por el principio de la misma cabecera siguiendo
la Filosofía LIFO (Último en entrar primero en salir).
✓Cola:
Colección ordenada de elementos homogéneos en la que sólo se pueden
añadir elementos por el final y se eliminan por el principio (frente) siguiendo
la filosofía FIFO (Primero en entrar primero en salir).
✓Listas Doblemente enlazadas (LDE):
Son aquellas que presentan una relación lineal en ambos sentidos, un enlace
a predecesor y antecesor en cada nodo, su recorrido puede ser en ambos
sentidos y pueden ser simples u ordenadas.
2) Listas enlazadas:
Una lista enlazada o estructura ligada, es una estructura lineal que almacena
una colección de elementos generalmente llamados nodos, en donde cada
nodo puede almacenar datos y ligas a otros nodos. De esta manera los nodos
pueden localizarse en cualquier parte de la memoria, utilizando la referencia
que lo relaciona con otro nodo dentro de la estructura.
Las listas enlazadas son estructuras dinámicas que se utilizan para almacenar
datos que están cambiando constante mente. A diferencia de los vectores,
las estructuras dinámicas se expanden y se contraen haciéndolas más
flexibles a la hora de añadir o eliminar información.
Las listas enlazadas permiten almacenar información en posiciones de
memoria que no sean contiguas; y se almacena en los elementos nodos.
Estos nodos poseen dos campos uno para almacenar la información o valor
del elemento y otro para el enlace que determina la posición del siguiente
elemento o nodo de la lista.
*Características
Se compone de dos partes: una que contiene la información en sí y la
segunda es un puntero y q su función es apuntar al siguiente nodo que haya.
Una lista enlazada es un tipo de dato autorreferenciado porque contienen un
puntero o enlace (en inglés link, del mismo significado) a otro dato del mismo
tipo.
Existen diferentes tipos de listas enlazadas: listas enlazadas simples, listas
doblemente enlazadas, listas enlazadas circulares y listas enlazadas
doblemente circulares.
Las listas enlazadas pueden ser implementadas en muchos lenguajes.
Lenguajes tales como Lisp, Scheme y Haskell tienen estructuras de datos ya
construidas, junto con operaciones para acceder a las listas enlazadas.
*Operaciones:
Una lista enlazada requiere unos controles para la gestión de los elementos
contenidos en ellas. Estos controles se manifiestan en forma de operaciones
que tendrán las siguientes funciones:
✓Declaración de los tipos nodo y puntero a nodo.

✓Inicialización o creación.

✓Insertar elementos en una lista.

✓Eliminar elementos de una lista.

✓Buscar elementos de una lista (comprobar la existencia de elementos en


una lista).
✓Recorrer una lista enlazada (visitar cada nodo de la lista).
*Aplicaciones:
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.
3) Listas secuenciales pilas y colas:
En las pilas (también conocidas como stacks o FILO – first in, last out) lo que
queremos es procesar los datos en orden inverso, esto es, primero
procesamos los últimos datos que añadimos y hasta llegar a los iniciales. Una
forma fácil de visualizarlo es mediante tortillas: al irlas calentando, se van
apilando por lo que las primeras que se calentaron quedan abajo y son las
últimas en ser comidas. La importancia de las pilas es que se utilizan
implícitamente en cualquier programa recursivo (como en las búsquedas en
profundidad). También podemos ver el uso de pilas en el algoritmo de
Graham Scan.
En las colas (también conocidas como queues, buffers o FIFO – first in, first
out) los primeros elementos que entran son los primeros en ser procesados.
Esto lo podemos ver en las filas en los bancos: los primeros que se forman
son los primeros en ser atendidos (generalmente). Algunos ejemplos de su
uso son en la escritura de números grandes y en las búsquedas en amplitud.
*Característica:
Las pilas se pueden representar en la memoria de la computadora de varias
formas, una de ellas es a través de una lista enlazada en la cual cada
componente apunta a su predecesor excepto el primer componente que
apuntará a Nil para indicar el final de la lista.
Para las colas se utilizan las mismas representaciones que para las pilas,
solamente se añade un apuntador al último elemento.
En la formación de la cola cada nuevo componente que se cree será el último
por lo que deberá apuntar a Nil y el que era el último hasta ese momento
apuntará al nuevo componente pasando a ser el penúltimo.
La implementación de pilas y colas mediante listas enlazadas posibilita la
representación eficiente de los datos en situaciones donde es necesario
indicar el orden de procesamiento de los mismos y no es posible prever la
cantidad de elementos a procesar por cuanto este tipo de representación
permite crear y destruir variables dinámicamente

También podría gustarte