martes, 22 de octubre de 2019

¿Que son pilas?


Las pilas son estructuras de datos que se utilizan generalmente para simplificar ciertas operaciones Estas estructuras pueden implementarse mediante arrays o mediante listas enlazadas.

Las pilas son estructuras de datos que tienes dos operaciones básicas: PUSH (para insertar un elemento) y POP (para extraer un elemento).

Su característica fundamental es que al extraer se obtiene siempre el último elemento que acaba de insertarse. Por esta razón también se conocen como estructuras de datos LIFO.

Una posible implementación mediante listas enlazadas sería insertando y extrayendo siempre por el principio de la lista.

Gracias a las pilas es posible el uso de la recursividad La variable que llama al mismo procedimiento en el que está, habrá que guardarla, así como el resto de variables de la nueva llamada, para a la vuelta de la recursividad ir sacándolas, esto es posible a la implementación de pilas. 


Resultado de imagen para pilas en programacion

jueves, 10 de octubre de 2019

¿Qué son las Listas Doblemente Enlazadas?


Si recordamos nuevamente el concepto de Listas Enlazadas, este tema será muy fácil de retomar. Y si no recuerdas, te dejo aquí el enlace: Listas Enlazadas.

Bueno, conceptualmente diremos que: una lista doblemente enlazada es una estructura de datos que consiste en un conjunto de nodos enlazados secuencialmente.


En otras palabras, una lista de elementos que están una seguida de otra, y como las listas anteriores que vimos, cada Nodo (elemento) contiene dos enlaces: el anterior y el siguiente.

A diferencia de esta última en las doblemente enlazadas se tienen dos direcciones, así:

Una lista doblemente enlazada cuyos nodos contienen tres campos: un valor entero, el enlace al nodo siguiente, y el enlace al nodo anterior.




Una lista doblemente enlazada cuyos nodos contienen tres campos: un valor entero, el enlace al nodo siguiente, y el enlace al nodo anterior.

Lo que se muestra gráficamente es que podemos barrer los datos, o los elementos de la lista, desde el inicio al final y viceversa.

En el ejemplo anterior podemos leer lo siguiente:

    "El anterior de nodo 12 apunta a nulo, y el siguiente apunta al anterior de nodo 99".

También podemos decir:
    "El anterior de nodo 37 apunta a siguiente del nodo 99 y el siguiente apunta a nulo".

En esta estructura de datos podemos realizar las mismas funciones que podíamos hacer en las Listas Enlazadas, con la únicamente diferencia que es de dos sentidos.


Ahora ya con esta teoría, puedes imaginar las utilidades que tiene esta estructura de datos.
Seguidamente agregaremos un video para demostrar como se programa en Java y como se ve gráficamente.



¿Te gustaría aprender más?
Sigue en este blog.

<!-- SI PUEDES IMAGINARLO, PUEDES PROGRAMARLO -->

lunes, 7 de octubre de 2019

¿Que son Nodos?

Nodo

En general un nodo es un punto de unión de varios elementos que confluyen en el mismo lugar que también va haciendo conexiones con otros nodos hasta llegar al final

Es un elemento de una lista enlazada y cada nodo es un dato o registro que tiene varios campos uno de esos campos es el puntero que hace referencia a si a otro nodo y el otro campo es donde va el dato.

Puntero.

el puntero es una variable que hace referencia a otro nodo, que tiene una dirección en memoria en la cual esta almacenado el valor del nodo y se dice que el primer nodo apunta a segundo nodo.




Resultado de imagen para imagen de nodo programación




                             https://youtu.be/0_b1-iUmV_g.