domingo, 11 de mayo de 2014



ENSAYO ESTRUCTURA DE DATOS.
JOSE ALFREDO OROZCO MIRAMMONTES
QUE SON LAS ESTRUCTURAS DE DATOS.

En una práctica, que la mayor parte de esta información nose útil no aparece aislada en forma de Datos simples, sino que lo hace de forma organizada y estructurada.
Los diccionarios, guías, enciclopedias, etc., son colecciones de datos que serían inútiles si no estuvieran organizadas de acuerdo con unas determinadas reglas. Pero también es tener bien estructurada toda esa información supone ventajas adicionales, al facilitar el acceso y el manejo de los datos. Por ello parece razonable desarrollar la idea de la agrupación de datos, que tengan un cierto tipo de estructura y organización interna.
Con  esta estructura de datos  hace que se hagan grandes rasgos, sobre  colección de datos (normalmente de tipo simple) que se caracterizan para su organización y las operaciones que se definen en ellos. Pero también , las estructura de datos vendrán caracterizada por unas ciertas relaciones entre los datos que la constituyen (este es el orden de las componentes de un vector de números reales), como por las operaciones posibles en ella. Esto supone que podamos expresar formalmente, mediante un conjunto de reglas, las relaciones y operaciones posibles (tales como insertar nuevos elementos o como eliminar los datos.

.





 LISTAS EN LAZADAS

Pueden expresarse de muchas formas de implementar una lista en implementaciones basadas en arrays como un nodo con el cual se de la conexión de un elemento.
De Java, se puede  insertar un elemento en cualquier lugar que no sea el final de la lista puede ser complejo, ya que todo estos elementos que se encuentran entre el punto de inserción y el final de la lista deberán desplazarse una posición para dejar hueco para la nueva entrada. Ocurre algo similar con la eliminación.

Por ello, las listas suelen utilizar una implementación
Enlazada.

PILAS
Una pila si las inserciones y extracciones las hacemos por un mismo lado de la lista. También se las llama listas LIFO (Last In First Out - último en entrar primero en salir.
Para esto es importante que una pila al ser una lista puede almacenar en el campo de información cualquier tipo de valor (int, char, float, vector de caracteres, un objeto.
Pero para estudiar el mecanismo de utilización de una pila supondremos que en el campo de información almacena un entero (para una fácil interpretación y codificación. Inicialmente . la PILA está vacía y decimos que el puntero raiz apunta a null (Si apunta a null decimos que no tiene una dirección de memoria. Pero para esto se debe declarar un nodo debemos utilizar una clase. En este caso la información del nodo (info) es un entero y siempre el nodo tendrá una referencia de tipo Nodo, que le llamamos sig.
El puntero sig apunta al siguiente nodo o a null en caso que no exista otro nodo. Este puntero es interno a la lista. También definimos como un  puntero de tipo Nodo llamado raiz. Este puntero tiene la dirección del primer nodo de la lista.
En caso de estar vacía la lista, raiz apunta a null (es decir que no tiene dirección). Uno de los métodos más importantes que debemos entender en una pila es el de insertar un elemento en la pila.
Al método llega la información e inserta, en este caso en particular es un valor entero.es hacer la creación de un nodo requiere dos pasos definición de un puntero o referencia a un tipo de dato Nodo.


COLAS
Una lista sobre  una cola si las inserciones se hace que  al final y las extracciones las hacemos por el frente de la lista. También se las llama listas FIFO (First In First Out - primero en entrar primero en salir)
Esto hace que  un programa nos permita administrar una lista tipo cola. Desarrollaremos los métodos de insertar, extraer, vacia e imprimir.
Recordemos que defininiremos al puntero llamado nuevo, luego creamos el nodo con el operador new y cargamos los dos campos, el de información con lo que llega en el parámetro y el puntero con null ya que se insertará al final de la lista, es decir no hay otro después de este.
Un ejemplo:



Y por último todo  puntero externo fondo debe apuntar al nodo apuntado por nuevo.
            

Con esto ya tenemos correctamente enlazados los nodos en la lista tipo cola. Para se tiene que recordar que el puntero nuevo desaparece cuando se sale del método insertar, pero el nodo creado no se pierde porque queda enlazado en la lista.

CONCLUCION
Esto nos hace pensar que Java se pueden  realizar conversiones entre valores y objetos de las clases de envoltura de tipos, mediante la conversión.
Se aprendió también que las listas enlazadas son elementos de datos que están “alineados en una fila”.  También vio que una aplicación puede realizar operaciones de inserción y eliminación de datos en cualquier parte de una lista enlazada. Se Aprendió que las estructuras de datos tipo pila y cola son versiones restringidas de listas. En cuanto a las pilas, vio que las operaciones de insertar y eliminar datos se realizan sólo en la parte superior.