SlideShare una empresa de Scribd logo
1 de 14
REPÚBLICA BOLIVARIANA DE VENEZUELA
MINISTERIO PARA EL PODER POPULAR DE LA EDUCACIÓN SUPERIOR
I.U.T. “ANTONIO JOSÉ DE SUCRE”
SAN FELIPE – YARACUY

LISTAS.
(COMO ESTRUCTURA DE DATOS).

NEIR NELO.
C.I; 17.992.474
III SEM. INFORMÁTICA ESC. 78

PROCESAMIENTO DE DATOS.
FEBRERO, 2014
ÍNDICE.
INTRODUCCIÓN. _______________________________________________________ 2
Listas (Como estructura de datos). ___________________________________________ 3
Características. __________________________________________________________ 5
Tipos de listas. ___________________________________________________________ 6
Tipos de listas enlazadas _______________________________________________________ 6
Listas enlazadas lineales _______________________________________________________ 6
Listas simples enlazadas _______________________________________________________ 6
Listas doblemente enlazadas ____________________________________________________ 6
Listas enlazadas circulares. _____________________________________________________ 6
Listas enlazadas simples circulares. ______________________________________________ 7
Listas enlazadas doblemente circulares. __________________________________________ 7

Usos de listas. ____________________________________________________________ 7
Listas simples. ___________________________________________________________ 7
Listas enlazadas. _________________________________________________________ 7
Listas circulares __________________________________________________________ 8
Operaciones con listas: creación, inserción, supresión. __________________________ 8
Operaciones sobre listas enlazadas. ______________________________________________ 8

CONCLUSIÓN. _________________________________________________________ 12
REFERENCIAS. ________________________________________________________ 13
INTRODUCCIÓN.

La presente investigación se refiere al tema de listas sobre estructura de datos en las cuales
podemos definirlas de una manera simple como 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 porque
ocupar posiciones contiguas de memoria.
La diferencia entre listas ordenadas y no ordenadas es obvia, las ordenadas mantienen
cierto orden entre sus elementos.
A partir de ahora nos centraremos en las listas enlazadas no ordenadas.
Una lista es una sucesión de nodos en la que a partir de un nodo se puede acceder al que
ocupa la siguiente posición en la lista. Esta característica nos indica que el acceso a las
listas es secuencial y no indexado, por lo que para acceder al último elemento de la lista hay
que recorrer los n-1 elementos previos ( n es el tamaño de la lista).
LISTAS (COMO ESTRUCTURA DE DATOS).

En Ciencias

de

la

Computación,

una lista es

una

de

las estructuras

de

datos fundamentales, y puede ser usada para implementar otras estructuras de datos.
Consiste en una secuencia de nodos, en los que se guardan campos de datos arbitrarios y
una o dos referencias, enlaces o punteros al nodo anterior o posterior. El principal beneficio
de las listas enlazadas respecto a los vectores convencionales es que el orden de los
elementos enlazados puede ser diferente al orden de almacenamiento en la memoria o el
disco, permitiendo que el orden de recorrido de la lista sea diferente al de almacenamiento.
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. Las listas
enlazadas permiten inserciones y eliminación de nodos en cualquier punto de la lista en
tiempo constante (suponiendo que dicho punto está previamente identificado o localizado),
pero no permiten un acceso aleatorio. 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 y Scheme tiene estructuras de datos ya construidas, junto con operaciones
para acceder a las listas enlazadas. Lenguajes imperativos u orientados a objetos tales
como C o C++ y Java, respectivamente, disponen de referencias para crear listas enlazadas.
Las listas enlazadas fueron desarrolladas en 1955-56 por Cliff Shaw y Herbert
Simon en RAND Corporation, como la principal estructura de datos para su Lenguaje de
Procesamiento de la Información (IPL). IPL fue usado por los autores para desarrollar
varios programas relacionados con la inteligencia artificial, incluida la Máquina de la
Teoría General, el Solucionador de Problemas Generales, y un programa informático
de ajedrez. Se publicó en IRE Transactions on Information Theory en 1956, y en distintas
conferencias entre 1957-1959, incluida Proceedings of the Western Joint Computer en 1957
y 1958, y en Information Processing (Procendents de la primera conferencia internacional
del procesamiento de la información de la Unesco) en 1959. El diagrama clásico actual, que
consiste en bloques que representan nodos de la lista con flechas apuntando a los sucesivos
nodos de la lista, apareció en Programming the Logic Theory Machine, de Newell y Shaw.
Newell y Simon fueron reconocidos por el ACM Turing Award en 1975 por “hacer
contribuciones básicas a la inteligencia artificial, a la psicología del conocimiento humano
y al procesamiento de las listas”.
El problema de los traductores del procesamiento natural del lenguaje condujo
a Victor Yngve del Instituto Tecnológico de Massachusetts (MIT) a usar listas enlazadas
como estructura de datos en su COMIT, lenguaje de programación para computadoras, que
investigó en el campo de la Lingüística computacional. Un informe de este lenguaje,
titulado “A programming language for mechanical translation” apareció en Mechanical
Translation en 1958.
LISP, el principal procesador de listas, fue creado en 1958. Una de las mayores
estructuras de datos de LISP es la lista enlazada.
En torno a los 60, la utilidad de las listas enlazadas y los lenguajes que utilizaban
estas estructuras como su principal representación de datos estaba bien establecida. Bert
Green, del Lincoln Laboratory del MIT, publicó un estudio titulado Computer languages
for symbol manipulation en IRE Transaction on Human Factors in Electronics en marzo de
1961 que resumía las ventajas de las listas enlazadas. Un posterior artículo, A Comparison
of list-processing computer languages de Bobrow y Raphael, aparecía enCommunications
of the ACM en abril de 1964.
Muchos sistemas operativos desarrollados por la empresa Technical Systems
Consultants (originalmente de West Lafayette Indiana y después de Raleigh, Carolina del
Norte) usaron listas enlazadas simples como estructuras de ficheros. Un directorio de
entrada apuntaba al primer sector de un fichero y daba como resultado porciones de la
localización del fichero mediante punteros. Los sistemas que utilizaban esta técnica
incluían Flex (para el Motorola 6800 CPU), mini-Flex (la misma CPU) y Flex9 (para el
Motorola 6809 CPU). Una variante desarrollada por TSC se comercializó a Smoke Signal
Broadcasting en California, usando listas doblemente enlazadas del mismo modo.
El sistema operativo TSS, desarrollado por IBM para las máquinas System 360/370,
usaba una lista doblemente enlazada para su catálogo de ficheros de sistema. La estructura
de directorios era similar a Unix, donde un directorio podía contener ficheros u otros
directorios que se podían extender a cualquier profundidad. Una utilidad fue creada para
arreglar problemas del sistema después de un fallo desde las porciones modificadas del
catálogo de ficheros que estaban a veces en memoria cuando ocurría el fallo. Los
problemas eran detectados por comparación de los enlaces posterior y anterior por
consistencia. Si el siguiente de ellos era corrupto y el anterior enlace del nodo infectado era
encontrado, el enlace posterior era asignado al nodo marcado con el enlace anterior.

Características.

La cantidad reservada de almacenamiento para la pila o la cola esfija. Vimos pilas y
colas alojadas en arreglos.
Problemas al insertar o eliminar elementos.
Una representación secuencial, refleja el orden lógico de los elementos físicamente
almacenados en la lista; el orden físico y lógico son los mismos.
Solución a los problemas de movimiento de los datos que se ha encontrado al
utilizar representaciones secuenciales.
Con la representación no secuencial el orden lógico y el orden físico de los
elementos no es necesario que sea el mismo.
El orden lógico se representa de tal forma que cada elemento apunta al siguiente
elemento, es decir, se encuentran ligados.
Tipos de listas.




Tipos de listas enlazadas
Listas enlazadas lineales
Listas simples enlazadas
La lista enlazada básica es la lista enlazada simple la cual tiene un enlace por nodo.

Este enlace apunta al siguiente nodo (o indica que tiene la dirección en memoria del
siguiente nodo) en la lista, o al valor NULL o a la lista vacía, si es el último nodo.
Listas doblemente enlazadas.
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.
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.
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.

Usos de listas.
Las listas se utilizan para organizar información. Pueden estar incluidas dentro de
un artículo, o conformar un anexo independiente.

Listas simples.
La lista enlazada básica es la lista enlazada simple la cual tiene un enlace por nodo.
Este enlace apunta al siguiente nodo (o indica que tiene la dirección en memoria del
siguiente nodo) en la lista, o al valor NULL o a la lista vacía, si es el último nodo.

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; para almacenar la información contienen elementos llamados 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.
Listas 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.

Operaciones con listas: creación, inserción, supresión.
Operaciones sobre listas enlazadas.
Cuando se manipulan listas enlazadas, hay que tener cuidado con no usar valores
que hayamos invalidado en asignaciones anteriores. Esto hace que los algoritmos de
insertar y borrar nodos en las listas sean algo especiales. A continuación se expone
el pseudocódigo para añadir y borrar nodos en listas enlazadas simples, dobles y circulares.
Listas enlazadas lineales.
Listas simples enlazadas.
Nuestra estructura de datos tendrá dos campos. Vamos a mantener la variables
Primer Nodos que siempre apunta al primer nodo de tal lista, ó nulo para la lista
vacía.
record Node {
data // El dato almacenado en el nodo
next // Una referencia al nodo siguiente, nulo para el último nodo
}
record List {
Node PrimerNodo // Apunta al primer nodo de la lista; nulo para la lista vacía
}
El recorrido en una lista enlazada es simple, empezamos por el primer nodo y
pasamos al siguiente hasta que la lista llegue al final.
node := list.PrimerNodo
while node not null {
node := node.next
}
El siguiente código inserta un elemento a continuación de otro en una lista simple.
El diagrama muestra cómo funciona.

function insertAfter(Node node, Node newNode) {
newNode.next := node.next
node.next

:= newNode

}
Insertar al principio de una lista requiere una función por separado. Se necesita
actualizar PrimerNodo.
function insertBeginning(List list, Node newNode) {
newNode.next := list.firstNode
list.firstNode := newNode
}
De forma similar, también tenemos funciones para borrar un nodo dado ó para
borrar un nodo del principio de la lista. Ver diagrama.
function removeAfter(Node node) {
obsoleteNode := node.next
node.next := node.next.next
destroy obsoleteNode
}
function removeBeginning(List list) {
obsoleteNode := list.firstNode
list.firstNode := list.firstNode.next
destroy obsoleteNode
}
Advertimos que BorrarPrincipio pone PrimerNodo a nulo cuando se borra el último
elemento de la lista. Adjuntar una lista enlazada a otra puede resultar ineficiente a menos
que se guarde una referencia a la cola de la lista, porque si no tendríamos que recorrer la
lista en orden hasta llegar a la cola y luego añadir la segunda lista.
CONCLUSIÓN.

Como conclusión del presente trabajo de investigación sobre listas como estructuras de
datos, es importante mencionar que las listas son una de las estructuras de
datos fundamentales, y puede ser usada para implementar otras estructuras de datos.
Consiste en una secuencia de nodos, en los que se guardan campos de datos arbitrarios y
una o dos referencias, enlaces o punteros al nodo anterior o posterior. El principal beneficio
de las listas enlazadas respecto a los vectores convencionales es que el orden de los
elementos enlazados puede ser diferente al orden de almacenamiento en la memoria o el
disco, permitiendo que el orden de recorrido de la lista sea diferente al de almacenamiento.
La lista enlazada básica es la lista enlazada simple la cual tiene un enlace por nodo. Este
enlace apunta al siguiente nodo (o indica que tiene la dirección en memoria del siguiente
nodo) en la lista, o al valor NULL o a la lista vacía, si es el último nodo.
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; para almacenar la información contienen elementos llamados 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.
REFERENCIAS.

http://es.wikipedia.org/wiki/Lista_(inform%C3%A1tica)


National Institute of Standards and Technology (August 16, 2004). Definition of a
linked list. Retrieved December 14, 2004.



Antonakos, James L. and Mansfield, Kenneth C., Jr. Practical Data Structures Using
C/C++ (1999). Prentice-Hall. ISBN 0-13-280843-9, pp. 165–190



Collins, William J. Data Structures and the Java Collections Framework (2002,2005)
New York, NY: McGraw Hill. ISBN 0-07-282379-8, pp. 239–303



Cormen,

Thomas

H.;

Leiserson,

Charles

E.;

Rivest,

Ronald

L.;

Stein,

Clifford Introductions to Algorithms (2003). MIT Press. ISBN 0-262-03293-7, pp. 205–
213, 501–505


McCarthy, John (1960). Recursive Functions of Symbolic Expressions and Their
Computation

by

Machine,

Part

I. Communications

of

the

ACM. [1] HTML DVI PDFPostScript


Donald Knuth. Fundamental Algorithms, Third Edition. Addison-Wesley, 1997. ISBN
0-201-89683-4. Sections 2.2.3–2.2.5, pp.254–298.



Thomas

H.

Cormen, Charles

E.

Leiserson, Ronald

L.

Rivest,

and Clifford

Stein. Introduction to Algorithms, Second Edition. MIT Press and McGraw-Hill,
2001. ISBN 0-262-03293-7. Section 10.2: Linked lists, pp.204–209.

http://www.monografias.com/trabajos10/esda/esda.shtml
Ist Cepea Lima – Perú
Bermúdez Moncada, Isabel
Chumpitaz Heirisman, Roel
Salazar Beaumont Blanco, Enrique

Más contenido relacionado

La actualidad más candente

Reporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoReporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoTAtiizz Villalobos
 
Estructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesEstructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesJosé Antonio Sandoval Acosta
 
Programación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenadosProgramación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenadosAngel Vázquez Patiño
 
Arboles - estructura de datos
Arboles - estructura de datos Arboles - estructura de datos
Arboles - estructura de datos Kaneki04
 
Llave primaria y llave foránea
Llave primaria y llave foráneaLlave primaria y llave foránea
Llave primaria y llave foráneaTata Jaramillo
 
Estructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datosEstructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datosJosé Antonio Sandoval Acosta
 
3. algoritmos de ordenamiento interno
3. algoritmos de ordenamiento interno3. algoritmos de ordenamiento interno
3. algoritmos de ordenamiento internoFernando Solis
 
4. algoritmo de ordenamiento externo
4. algoritmo de ordenamiento externo4. algoritmo de ordenamiento externo
4. algoritmo de ordenamiento externoFernando Solis
 
Estructuras dinámicas
Estructuras dinámicasEstructuras dinámicas
Estructuras dinámicasPatriciaU
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Giancarlo Aguilar
 
conceptos de Punteros y Nodos
conceptos de Punteros y Nodosconceptos de Punteros y Nodos
conceptos de Punteros y NodosBoris Salleg
 

La actualidad más candente (20)

Reporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoReporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamiento
 
Programación 3: listas enlazadas
Programación 3: listas enlazadasProgramación 3: listas enlazadas
Programación 3: listas enlazadas
 
Colas
ColasColas
Colas
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
 
Árboles binarios, ABB y AVL
Árboles binarios, ABB y AVLÁrboles binarios, ABB y AVL
Árboles binarios, ABB y AVL
 
Estructuras no-lineales
Estructuras no-linealesEstructuras no-lineales
Estructuras no-lineales
 
Estructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesEstructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no lineales
 
Programación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenadosProgramación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenados
 
Diseño fisico
Diseño fisicoDiseño fisico
Diseño fisico
 
Arboles - estructura de datos
Arboles - estructura de datos Arboles - estructura de datos
Arboles - estructura de datos
 
Llave primaria y llave foránea
Llave primaria y llave foráneaLlave primaria y llave foránea
Llave primaria y llave foránea
 
Estructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datosEstructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datos
 
3. algoritmos de ordenamiento interno
3. algoritmos de ordenamiento interno3. algoritmos de ordenamiento interno
3. algoritmos de ordenamiento interno
 
4. algoritmo de ordenamiento externo
4. algoritmo de ordenamiento externo4. algoritmo de ordenamiento externo
4. algoritmo de ordenamiento externo
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Estructuras dinámicas
Estructuras dinámicasEstructuras dinámicas
Estructuras dinámicas
 
control de concurrencia
control de concurrenciacontrol de concurrencia
control de concurrencia
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.
 
Estructura de Datos - Estructuras no lineales
Estructura de Datos - Estructuras no linealesEstructura de Datos - Estructuras no lineales
Estructura de Datos - Estructuras no lineales
 
conceptos de Punteros y Nodos
conceptos de Punteros y Nodosconceptos de Punteros y Nodos
conceptos de Punteros y Nodos
 

Destacado

Listas en C#
Listas en C#Listas en C#
Listas en C#rezzaca
 
Estructura de datos listas, pilas y colas
Estructura de datos listas, pilas y colasEstructura de datos listas, pilas y colas
Estructura de datos listas, pilas y colasElias Peña
 
PROYECTO final de curso - Listas dobles
PROYECTO final de curso - Listas doblesPROYECTO final de curso - Listas dobles
PROYECTO final de curso - Listas doblesMaiky Kobatakane
 
Inserción Listas Enlazadas Simples
Inserción Listas Enlazadas SimplesInserción Listas Enlazadas Simples
Inserción Listas Enlazadas Simplesyatarihuana
 
Importancia de la implementación de las listas para la estructura de datos
Importancia de la implementación de las listas para la estructura de datosImportancia de la implementación de las listas para la estructura de datos
Importancia de la implementación de las listas para la estructura de datospepelebu1313
 
Algoritmo de listas simples completo
Algoritmo de listas simples  completoAlgoritmo de listas simples  completo
Algoritmo de listas simples completoBoris Salleg
 
Estructuras No Lineales
Estructuras No LinealesEstructuras No Lineales
Estructuras No Linealesguest8555cd
 
Estructuras lineales y no lineales
Estructuras lineales y no linealesEstructuras lineales y no lineales
Estructuras lineales y no linealesAnselmo Emilio
 
Diapositiva de l estructura de datos
Diapositiva de l estructura de datosDiapositiva de l estructura de datos
Diapositiva de l estructura de datosmariajuly
 
Listas Doblemente Enlazadas y Listas Circulares
Listas Doblemente Enlazadas y Listas CircularesListas Doblemente Enlazadas y Listas Circulares
Listas Doblemente Enlazadas y Listas CircularesMago Julio Cesar
 
Estructura de datos. listas, pilas y colas
Estructura de datos. listas, pilas y colasEstructura de datos. listas, pilas y colas
Estructura de datos. listas, pilas y colasIARINAIA
 
Unidad 3 estructuras lineales estaticas y dinamicas
Unidad 3 estructuras lineales estaticas y dinamicasUnidad 3 estructuras lineales estaticas y dinamicas
Unidad 3 estructuras lineales estaticas y dinamicasrehoscript
 

Destacado (20)

Pilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datosPilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datos
 
Listas en C#
Listas en C#Listas en C#
Listas en C#
 
Estructura de datos listas, pilas y colas
Estructura de datos listas, pilas y colasEstructura de datos listas, pilas y colas
Estructura de datos listas, pilas y colas
 
PROYECTO final de curso - Listas dobles
PROYECTO final de curso - Listas doblesPROYECTO final de curso - Listas dobles
PROYECTO final de curso - Listas dobles
 
Listas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de DatosListas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de Datos
 
Inserción Listas Enlazadas Simples
Inserción Listas Enlazadas SimplesInserción Listas Enlazadas Simples
Inserción Listas Enlazadas Simples
 
Importancia de la implementación de las listas para la estructura de datos
Importancia de la implementación de las listas para la estructura de datosImportancia de la implementación de las listas para la estructura de datos
Importancia de la implementación de las listas para la estructura de datos
 
Listas
ListasListas
Listas
 
Algoritmo de listas simples completo
Algoritmo de listas simples  completoAlgoritmo de listas simples  completo
Algoritmo de listas simples completo
 
Estructuras No Lineales
Estructuras No LinealesEstructuras No Lineales
Estructuras No Lineales
 
Lista simple
Lista simpleLista simple
Lista simple
 
Estructura de Datos (LISTAS, COLAS, PILAS)
Estructura de Datos (LISTAS, COLAS, PILAS)Estructura de Datos (LISTAS, COLAS, PILAS)
Estructura de Datos (LISTAS, COLAS, PILAS)
 
Estructuras lineales y no lineales
Estructuras lineales y no linealesEstructuras lineales y no lineales
Estructuras lineales y no lineales
 
Arreglos unidimensionales
Arreglos unidimensionalesArreglos unidimensionales
Arreglos unidimensionales
 
Diapositiva de l estructura de datos
Diapositiva de l estructura de datosDiapositiva de l estructura de datos
Diapositiva de l estructura de datos
 
Tad Colas
Tad ColasTad Colas
Tad Colas
 
Listas
ListasListas
Listas
 
Listas Doblemente Enlazadas y Listas Circulares
Listas Doblemente Enlazadas y Listas CircularesListas Doblemente Enlazadas y Listas Circulares
Listas Doblemente Enlazadas y Listas Circulares
 
Estructura de datos. listas, pilas y colas
Estructura de datos. listas, pilas y colasEstructura de datos. listas, pilas y colas
Estructura de datos. listas, pilas y colas
 
Unidad 3 estructuras lineales estaticas y dinamicas
Unidad 3 estructuras lineales estaticas y dinamicasUnidad 3 estructuras lineales estaticas y dinamicas
Unidad 3 estructuras lineales estaticas y dinamicas
 

Similar a Listas como estructura de datos..

Informe de Lista.pdf
Informe de Lista.pdfInforme de Lista.pdf
Informe de Lista.pdfdciutsucre
 
Estructuras de datos y estructuras de almacenamiento migueld
Estructuras de datos y estructuras de almacenamiento migueldEstructuras de datos y estructuras de almacenamiento migueld
Estructuras de datos y estructuras de almacenamiento migueldMiguelDiaz369
 
Estructuras de datos y estructuras de almacenamiento miguel
Estructuras de datos y estructuras de almacenamiento miguelEstructuras de datos y estructuras de almacenamiento miguel
Estructuras de datos y estructuras de almacenamiento miguelMiguelDiaz369
 
Examen de recuperacion Betriz Cruz Granados
Examen de recuperacion Betriz Cruz GranadosExamen de recuperacion Betriz Cruz Granados
Examen de recuperacion Betriz Cruz GranadosBety Cruz
 
Examen de recuperacion maestra yolanda
Examen de recuperacion maestra yolandaExamen de recuperacion maestra yolanda
Examen de recuperacion maestra yolandaBety Cruz
 
Estructuras de datos
Estructuras de datosEstructuras de datos
Estructuras de datosSistemasGrupo
 
E.d. lineales y no lineales
E.d. lineales y no linealesE.d. lineales y no lineales
E.d. lineales y no linealesGaby Toriz
 
Presentación Estructuras de Datos Y Estructuras de Almacenamiento.pptx
Presentación Estructuras de Datos Y Estructuras de Almacenamiento.pptxPresentación Estructuras de Datos Y Estructuras de Almacenamiento.pptx
Presentación Estructuras de Datos Y Estructuras de Almacenamiento.pptxCarlosEspaa16
 
LISTAS EN PROGRAMACION.pdf
LISTAS EN PROGRAMACION.pdfLISTAS EN PROGRAMACION.pdf
LISTAS EN PROGRAMACION.pdfGabriel Mendez
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datoscrispi2029
 
Estructura de datos lineales y no lineales
Estructura de datos lineales y no linealesEstructura de datos lineales y no lineales
Estructura de datos lineales y no linealeslos4estatidinamicos
 
Unidad 3 diana karina pech may
Unidad 3 diana karina pech mayUnidad 3 diana karina pech may
Unidad 3 diana karina pech mayKarina1602
 
3.0 estructuras lineales
3.0 estructuras lineales3.0 estructuras lineales
3.0 estructuras linealeserwin_alexander
 

Similar a Listas como estructura de datos.. (20)

Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Curso basico c sharp iv
Curso basico c sharp   ivCurso basico c sharp   iv
Curso basico c sharp iv
 
Informe de Lista.pdf
Informe de Lista.pdfInforme de Lista.pdf
Informe de Lista.pdf
 
Estructuras de datos y estructuras de almacenamiento migueld
Estructuras de datos y estructuras de almacenamiento migueldEstructuras de datos y estructuras de almacenamiento migueld
Estructuras de datos y estructuras de almacenamiento migueld
 
Estructuras de datos y estructuras de almacenamiento miguel
Estructuras de datos y estructuras de almacenamiento miguelEstructuras de datos y estructuras de almacenamiento miguel
Estructuras de datos y estructuras de almacenamiento miguel
 
Examen de recuperacion Betriz Cruz Granados
Examen de recuperacion Betriz Cruz GranadosExamen de recuperacion Betriz Cruz Granados
Examen de recuperacion Betriz Cruz Granados
 
Examen de recuperacion maestra yolanda
Examen de recuperacion maestra yolandaExamen de recuperacion maestra yolanda
Examen de recuperacion maestra yolanda
 
Estructuras de datos
Estructuras de datosEstructuras de datos
Estructuras de datos
 
E.d. lineales y no lineales
E.d. lineales y no linealesE.d. lineales y no lineales
E.d. lineales y no lineales
 
Presentación Estructuras de Datos Y Estructuras de Almacenamiento.pptx
Presentación Estructuras de Datos Y Estructuras de Almacenamiento.pptxPresentación Estructuras de Datos Y Estructuras de Almacenamiento.pptx
Presentación Estructuras de Datos Y Estructuras de Almacenamiento.pptx
 
LISTAS EN PROGRAMACION.pdf
LISTAS EN PROGRAMACION.pdfLISTAS EN PROGRAMACION.pdf
LISTAS EN PROGRAMACION.pdf
 
Presentación1
Presentación1Presentación1
Presentación1
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Unidad 3 Listas Java
Unidad 3 Listas JavaUnidad 3 Listas Java
Unidad 3 Listas Java
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Estructura de datos lineales y no lineales
Estructura de datos lineales y no linealesEstructura de datos lineales y no lineales
Estructura de datos lineales y no lineales
 
ED
EDED
ED
 
Unidad 3 diana karina pech may
Unidad 3 diana karina pech mayUnidad 3 diana karina pech may
Unidad 3 diana karina pech may
 
3.0 estructuras lineales
3.0 estructuras lineales3.0 estructuras lineales
3.0 estructuras lineales
 

Último

EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptx
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptxEL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptx
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptxsisimosolorzano
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxroberthirigoinvasque
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...jlorentemartos
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024IES Vicent Andres Estelles
 
semana 4 9NO Estudios sociales.pptxnnnn
semana 4  9NO Estudios sociales.pptxnnnnsemana 4  9NO Estudios sociales.pptxnnnn
semana 4 9NO Estudios sociales.pptxnnnnlitzyleovaldivieso
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primariaWilian24
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Alejandrino Halire Ccahuana
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024IES Vicent Andres Estelles
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioELIASAURELIOCHAVEZCA1
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfapunteshistoriamarmo
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfAlfaresbilingual
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptxRigoTito
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptAlberto Rubio
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.pptFUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.pptNancyMoreiraMora1
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.docRodneyFrankCUADROSMI
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Juan Martín Martín
 

Último (20)

EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptx
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptxEL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptx
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptx
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
semana 4 9NO Estudios sociales.pptxnnnn
semana 4  9NO Estudios sociales.pptxnnnnsemana 4  9NO Estudios sociales.pptxnnnn
semana 4 9NO Estudios sociales.pptxnnnn
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdf
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdf
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.pptFUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 

Listas como estructura de datos..

  • 1. REPÚBLICA BOLIVARIANA DE VENEZUELA MINISTERIO PARA EL PODER POPULAR DE LA EDUCACIÓN SUPERIOR I.U.T. “ANTONIO JOSÉ DE SUCRE” SAN FELIPE – YARACUY LISTAS. (COMO ESTRUCTURA DE DATOS). NEIR NELO. C.I; 17.992.474 III SEM. INFORMÁTICA ESC. 78 PROCESAMIENTO DE DATOS. FEBRERO, 2014
  • 2. ÍNDICE. INTRODUCCIÓN. _______________________________________________________ 2 Listas (Como estructura de datos). ___________________________________________ 3 Características. __________________________________________________________ 5 Tipos de listas. ___________________________________________________________ 6 Tipos de listas enlazadas _______________________________________________________ 6 Listas enlazadas lineales _______________________________________________________ 6 Listas simples enlazadas _______________________________________________________ 6 Listas doblemente enlazadas ____________________________________________________ 6 Listas enlazadas circulares. _____________________________________________________ 6 Listas enlazadas simples circulares. ______________________________________________ 7 Listas enlazadas doblemente circulares. __________________________________________ 7 Usos de listas. ____________________________________________________________ 7 Listas simples. ___________________________________________________________ 7 Listas enlazadas. _________________________________________________________ 7 Listas circulares __________________________________________________________ 8 Operaciones con listas: creación, inserción, supresión. __________________________ 8 Operaciones sobre listas enlazadas. ______________________________________________ 8 CONCLUSIÓN. _________________________________________________________ 12 REFERENCIAS. ________________________________________________________ 13
  • 3. INTRODUCCIÓN. La presente investigación se refiere al tema de listas sobre estructura de datos en las cuales podemos definirlas de una manera simple como 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 porque ocupar posiciones contiguas de memoria. La diferencia entre listas ordenadas y no ordenadas es obvia, las ordenadas mantienen cierto orden entre sus elementos. A partir de ahora nos centraremos en las listas enlazadas no ordenadas. Una lista es una sucesión de nodos en la que a partir de un nodo se puede acceder al que ocupa la siguiente posición en la lista. Esta característica nos indica que el acceso a las listas es secuencial y no indexado, por lo que para acceder al último elemento de la lista hay que recorrer los n-1 elementos previos ( n es el tamaño de la lista).
  • 4. LISTAS (COMO ESTRUCTURA DE DATOS). En Ciencias de la Computación, una lista es una de las estructuras de datos fundamentales, y puede ser usada para implementar otras estructuras de datos. Consiste en una secuencia de nodos, en los que se guardan campos de datos arbitrarios y una o dos referencias, enlaces o punteros al nodo anterior o posterior. El principal beneficio de las listas enlazadas respecto a los vectores convencionales es que el orden de los elementos enlazados puede ser diferente al orden de almacenamiento en la memoria o el disco, permitiendo que el orden de recorrido de la lista sea diferente al de almacenamiento. 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. Las listas enlazadas permiten inserciones y eliminación de nodos en cualquier punto de la lista en tiempo constante (suponiendo que dicho punto está previamente identificado o localizado), pero no permiten un acceso aleatorio. 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 y Scheme tiene estructuras de datos ya construidas, junto con operaciones para acceder a las listas enlazadas. Lenguajes imperativos u orientados a objetos tales como C o C++ y Java, respectivamente, disponen de referencias para crear listas enlazadas. Las listas enlazadas fueron desarrolladas en 1955-56 por Cliff Shaw y Herbert Simon en RAND Corporation, como la principal estructura de datos para su Lenguaje de Procesamiento de la Información (IPL). IPL fue usado por los autores para desarrollar varios programas relacionados con la inteligencia artificial, incluida la Máquina de la Teoría General, el Solucionador de Problemas Generales, y un programa informático de ajedrez. Se publicó en IRE Transactions on Information Theory en 1956, y en distintas conferencias entre 1957-1959, incluida Proceedings of the Western Joint Computer en 1957 y 1958, y en Information Processing (Procendents de la primera conferencia internacional
  • 5. del procesamiento de la información de la Unesco) en 1959. El diagrama clásico actual, que consiste en bloques que representan nodos de la lista con flechas apuntando a los sucesivos nodos de la lista, apareció en Programming the Logic Theory Machine, de Newell y Shaw. Newell y Simon fueron reconocidos por el ACM Turing Award en 1975 por “hacer contribuciones básicas a la inteligencia artificial, a la psicología del conocimiento humano y al procesamiento de las listas”. El problema de los traductores del procesamiento natural del lenguaje condujo a Victor Yngve del Instituto Tecnológico de Massachusetts (MIT) a usar listas enlazadas como estructura de datos en su COMIT, lenguaje de programación para computadoras, que investigó en el campo de la Lingüística computacional. Un informe de este lenguaje, titulado “A programming language for mechanical translation” apareció en Mechanical Translation en 1958. LISP, el principal procesador de listas, fue creado en 1958. Una de las mayores estructuras de datos de LISP es la lista enlazada. En torno a los 60, la utilidad de las listas enlazadas y los lenguajes que utilizaban estas estructuras como su principal representación de datos estaba bien establecida. Bert Green, del Lincoln Laboratory del MIT, publicó un estudio titulado Computer languages for symbol manipulation en IRE Transaction on Human Factors in Electronics en marzo de 1961 que resumía las ventajas de las listas enlazadas. Un posterior artículo, A Comparison of list-processing computer languages de Bobrow y Raphael, aparecía enCommunications of the ACM en abril de 1964. Muchos sistemas operativos desarrollados por la empresa Technical Systems Consultants (originalmente de West Lafayette Indiana y después de Raleigh, Carolina del Norte) usaron listas enlazadas simples como estructuras de ficheros. Un directorio de entrada apuntaba al primer sector de un fichero y daba como resultado porciones de la localización del fichero mediante punteros. Los sistemas que utilizaban esta técnica incluían Flex (para el Motorola 6800 CPU), mini-Flex (la misma CPU) y Flex9 (para el
  • 6. Motorola 6809 CPU). Una variante desarrollada por TSC se comercializó a Smoke Signal Broadcasting en California, usando listas doblemente enlazadas del mismo modo. El sistema operativo TSS, desarrollado por IBM para las máquinas System 360/370, usaba una lista doblemente enlazada para su catálogo de ficheros de sistema. La estructura de directorios era similar a Unix, donde un directorio podía contener ficheros u otros directorios que se podían extender a cualquier profundidad. Una utilidad fue creada para arreglar problemas del sistema después de un fallo desde las porciones modificadas del catálogo de ficheros que estaban a veces en memoria cuando ocurría el fallo. Los problemas eran detectados por comparación de los enlaces posterior y anterior por consistencia. Si el siguiente de ellos era corrupto y el anterior enlace del nodo infectado era encontrado, el enlace posterior era asignado al nodo marcado con el enlace anterior. Características. La cantidad reservada de almacenamiento para la pila o la cola esfija. Vimos pilas y colas alojadas en arreglos. Problemas al insertar o eliminar elementos. Una representación secuencial, refleja el orden lógico de los elementos físicamente almacenados en la lista; el orden físico y lógico son los mismos. Solución a los problemas de movimiento de los datos que se ha encontrado al utilizar representaciones secuenciales. Con la representación no secuencial el orden lógico y el orden físico de los elementos no es necesario que sea el mismo. El orden lógico se representa de tal forma que cada elemento apunta al siguiente elemento, es decir, se encuentran ligados.
  • 7. Tipos de listas.    Tipos de listas enlazadas Listas enlazadas lineales Listas simples enlazadas La lista enlazada básica es la lista enlazada simple la cual tiene un enlace por nodo. Este enlace apunta al siguiente nodo (o indica que tiene la dirección en memoria del siguiente nodo) en la lista, o al valor NULL o a la lista vacía, si es el último nodo. Listas doblemente enlazadas. 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. 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.
  • 8. 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. 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. Usos de listas. Las listas se utilizan para organizar información. Pueden estar incluidas dentro de un artículo, o conformar un anexo independiente. Listas simples. La lista enlazada básica es la lista enlazada simple la cual tiene un enlace por nodo. Este enlace apunta al siguiente nodo (o indica que tiene la dirección en memoria del siguiente nodo) en la lista, o al valor NULL o a la lista vacía, si es el último nodo. 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
  • 9. 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; para almacenar la información contienen elementos llamados 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. Listas 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. Operaciones con listas: creación, inserción, supresión. Operaciones sobre listas enlazadas.
  • 10. Cuando se manipulan listas enlazadas, hay que tener cuidado con no usar valores que hayamos invalidado en asignaciones anteriores. Esto hace que los algoritmos de insertar y borrar nodos en las listas sean algo especiales. A continuación se expone el pseudocódigo para añadir y borrar nodos en listas enlazadas simples, dobles y circulares. Listas enlazadas lineales. Listas simples enlazadas. Nuestra estructura de datos tendrá dos campos. Vamos a mantener la variables Primer Nodos que siempre apunta al primer nodo de tal lista, ó nulo para la lista vacía. record Node { data // El dato almacenado en el nodo next // Una referencia al nodo siguiente, nulo para el último nodo } record List { Node PrimerNodo // Apunta al primer nodo de la lista; nulo para la lista vacía } El recorrido en una lista enlazada es simple, empezamos por el primer nodo y pasamos al siguiente hasta que la lista llegue al final. node := list.PrimerNodo while node not null { node := node.next }
  • 11. El siguiente código inserta un elemento a continuación de otro en una lista simple. El diagrama muestra cómo funciona. function insertAfter(Node node, Node newNode) { newNode.next := node.next node.next := newNode } Insertar al principio de una lista requiere una función por separado. Se necesita actualizar PrimerNodo. function insertBeginning(List list, Node newNode) { newNode.next := list.firstNode list.firstNode := newNode } De forma similar, también tenemos funciones para borrar un nodo dado ó para borrar un nodo del principio de la lista. Ver diagrama.
  • 12. function removeAfter(Node node) { obsoleteNode := node.next node.next := node.next.next destroy obsoleteNode } function removeBeginning(List list) { obsoleteNode := list.firstNode list.firstNode := list.firstNode.next destroy obsoleteNode } Advertimos que BorrarPrincipio pone PrimerNodo a nulo cuando se borra el último elemento de la lista. Adjuntar una lista enlazada a otra puede resultar ineficiente a menos que se guarde una referencia a la cola de la lista, porque si no tendríamos que recorrer la lista en orden hasta llegar a la cola y luego añadir la segunda lista.
  • 13. CONCLUSIÓN. Como conclusión del presente trabajo de investigación sobre listas como estructuras de datos, es importante mencionar que las listas son una de las estructuras de datos fundamentales, y puede ser usada para implementar otras estructuras de datos. Consiste en una secuencia de nodos, en los que se guardan campos de datos arbitrarios y una o dos referencias, enlaces o punteros al nodo anterior o posterior. El principal beneficio de las listas enlazadas respecto a los vectores convencionales es que el orden de los elementos enlazados puede ser diferente al orden de almacenamiento en la memoria o el disco, permitiendo que el orden de recorrido de la lista sea diferente al de almacenamiento. La lista enlazada básica es la lista enlazada simple la cual tiene un enlace por nodo. Este enlace apunta al siguiente nodo (o indica que tiene la dirección en memoria del siguiente nodo) en la lista, o al valor NULL o a la lista vacía, si es el último nodo. 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; para almacenar la información contienen elementos llamados 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.
  • 14. REFERENCIAS. http://es.wikipedia.org/wiki/Lista_(inform%C3%A1tica)  National Institute of Standards and Technology (August 16, 2004). Definition of a linked list. Retrieved December 14, 2004.  Antonakos, James L. and Mansfield, Kenneth C., Jr. Practical Data Structures Using C/C++ (1999). Prentice-Hall. ISBN 0-13-280843-9, pp. 165–190  Collins, William J. Data Structures and the Java Collections Framework (2002,2005) New York, NY: McGraw Hill. ISBN 0-07-282379-8, pp. 239–303  Cormen, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L.; Stein, Clifford Introductions to Algorithms (2003). MIT Press. ISBN 0-262-03293-7, pp. 205– 213, 501–505  McCarthy, John (1960). Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I. Communications of the ACM. [1] HTML DVI PDFPostScript  Donald Knuth. Fundamental Algorithms, Third Edition. Addison-Wesley, 1997. ISBN 0-201-89683-4. Sections 2.2.3–2.2.5, pp.254–298.  Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. Introduction to Algorithms, Second Edition. MIT Press and McGraw-Hill, 2001. ISBN 0-262-03293-7. Section 10.2: Linked lists, pp.204–209. http://www.monografias.com/trabajos10/esda/esda.shtml Ist Cepea Lima – Perú Bermúdez Moncada, Isabel Chumpitaz Heirisman, Roel Salazar Beaumont Blanco, Enrique