Vous êtes sur la page 1sur 9

CORPORATIVO INTERNACIONAL UNIVERSITARIO

ASIGNATURA: ORGANIZACIN DE ARCHIVOS Y ESTRUCTURAS DE DATOS

DOCENTE: L.I. GABRIEL FLORES GONZALEZ

ALUMNO: HERNAN DARIO GONZALEZ VASQUEZ

SEGUNDO CUATRIMESTRE

ENERO DE 2012

INDICE
TEMAS Y SUBTEMAS INTRODUCCIN 3.0 ALGORITMOS PARA MANIPULAR LISTAS 3.1.1 Arreglos 3.1.2 Listas ligadas simples 3.1.3 Listas doblemente ligadas 3.2 APLICACIN DE LISTAS LINEALES CONCLUSIONES BIBLIOGRAFA PGINA 3 4 4 4 5 6 8 9

INTRODUCCION

Como ya sabemos, las computadoras fueron diseadas o ideadas como una herramienta mediante la cual podemos realizar operaciones de clculo complicadas en un lapso de mnimo tiempo. La informacin que se procesa en la computadora es un conjunto de datos, que pueden ser simples o estructurados. Los arreglos se encuentran ubicados en forma consecutiva en la memoria RAM. Se pueden distinguir tres tipos: 1. De una dimensin. 2. De dos dimensiones. 3. De tres o ms dimensiones Existen tambin las listas enlazadas simples en las cuales se tiene un enlace nodo por nodo. Y las listas doblemente enlazadas en la que el nodo tiene dos enlaces, uno al nodo siguiente, y otro al nodo anterior.

3.0 ALGORITMOS PARA MANIPULAR LISTA 3.1.1 ARREGLOS Un arreglo (array) es una coleccin de datos del mismo tipo, que se almacenan en posiciones consecutivas de memoria y reciben un nombre comn. Para referirse a un determinado elemento de un array se deber utilizar un ndice, que especifique su posicin relativa en el array. Un arreglo es una coleccin finita, homognea y ordenada de elementos. y y y Finita: Todo arreglo tiene un lmite; es decir, debe determinarse cul ser el nmero mximo de elementos que podrn formar parte del arreglo. Homognea: Todos los elementos del arreglo deben ser del mismo tipo. Ordenada: Se puede determinar cul es el primer elemento, el segundo, el tercero,.... y el ensimo elemento.

Los arreglos se clasifican de acuerdo con el nmero de dimensiones que tienen. As se tienen los: 1. Un arreglo unidimensional es un tipo de datos estructurado que est formado de una coleccin finita y ordenada de datos del mismo tipo. Es la estructura natural para modelar listas de elementos iguales. 2. El arreglo bidimensional, al igual que el anterior, es un tipo de dato estructurado, finito ordenado y homogneo. El acceso a ellos tambin es en forma directa por medio de un par de ndices. Los arreglos bidimensionales se usan para representar datos que pueden verse como una tabla con filas y columnas. 3. El arreglo multidimensional, tambin es un tipo de dato estructurado, que est compuesto por n dimensiones. Para hacer referencia a cada componente del arreglo es necesario utilizar n ndice, uno para cada dimensin 3.1.2 LISTAS LIGADAS SIMPLES Una lista de enlace simple 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. En conclusin, esta lista tiene un enlace por nodo. Este enlace apunta al siguiente nodo en la lista, o al valor NULL o a la lista vaca, si es el ltimo nodo.

Una lista enlazada simple contiene dos valores: el valor actual del nodo y un enlace al siguiente nodo

3.1.3 LISTAS DOBLEMENTE LIGADAS Una lista doblemente enlazada es una lista lineal en la que cada nodo tiene dos enlaces, uno al nodo siguiente, y otro al anterior. Las listas doblemente enlazadas no necesitan un nodo especial para acceder a ellas, pueden recorrerse en ambos sentidos a partir de cualquier nodo, esto es porque a partir de cualquier nodo, siempre es posible alcanzar cualquier nodo de la lista, hasta que se llega a uno de los extremos. El nodo tpico es el mismo que para construir las listas que hemos visto, salvo que tienen otro puntero al nodo anterior: struct nodo \{ int dato; struct nodo *siguiente; struct nodo *anterior; }; Para C, y basndonos en la declaracin de nodo que hemos visto ms arriba, trabajaremos con los siguientes tipos: typedef struct _nodo \{ int dato; struct _nodo *siguiente; struct _nodo *anterior; } tipoNodo;

typedef tipoNodo *pNodo;


5

typedef tipoNodo *Lista; tipoNodo es el tipo para declarar nodos, evidentemente. pNodo es el tipo para declarar punteros a un nodo. Lista es el tipo para declarar listas abiertas doblemente enlazadas. Tambin es posible, y potencialmente til, crear listas doblemente enlazadas y circulares.

Lista doblemente enlazada El movimiento a travs de listas doblemente enlazadas es ms sencillo, y como veremos las operaciones de bsqueda, insercin y borrado, tambin tienen ms ventajas.

 Doblemente Enlazadas vs. Simples Enlazadas. La programacin informtica considera que un nodo es cada uno de los elementos de una lista enlazada, un rbol o un grafo en una estructura de datos. Cada nodo tiene su propia estructura y cuenta con varios campos, de los cuales, al menos uno, funcionar como referencia para otro nodo. Las listas doblemente enlazadas requieren ms espacio por nodo y sus operaciones bsicas resultan ms costosas pero ofrecen una mayor facilidad para manipular ya que permiten el acceso secuencial a lista en ambas direcciones. En particular, uno puede insertar o borrar un nodo en un nmero fijo de operaciones dando nicamente la direccin de dicho nodo (Las listas simples requieren la direccin del nodo anterior para insertar o suprimir correctamente). Algunos algoritmos requieren el acceso en ambas direcciones.

3.3 APLICACIN DE LISTAS LINEALES Las listas enlazadas son usadas como mdulos 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;
6

esta prctica tiene su origen en el lenguaje de programacin Lisp, donde las listas enlazadas son una estructura de datos primaria (aunque no la nica), y ahora es una caracterstica comn en el estilo de programacin 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 stas estructuras, por ejemplo con rboles binarios de bsqueda equilibrados. Sin embargo, a veces una lista enlazada es dinmicamente creada fuera de un subconjunto propio de nodos semejante a un rbol, y son usadas ms eficientemente para recorrer sta serie de datos.

CONCLUSIONES

En este tema podemos entender que un arreglo es un conjunto de datos que se guardan en la memoria y que reciben un nombre. Adems un arreglo es homogneo, finito y ordenado, con esto decimos que tiene que terminarse en algn momento, que todos los elementos tienen que ser del mismo tipo, y que se puede determinar el primero, segundo, tercero y todos los elementos que existan. Hay dos clases de listas: las enlazadas simples y las doblemente enlazadas que tiene una funcin diferente cada una. Por ejemplo la primera trabaja en un nodo por nodo y la segunda necesitas dos enlaces uno para el siguiente y otro para el anterior.

BIBLIOGRAFIA

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

2. http://www.algoritmia.net/articles.php?id=13

3. http://www.mailxmail.com/curso-aprende-programar/estructuras-datos-arreglos 4. http://c.conclase.net/edd/?cap=005#5_2