¿Qué es un nodo?

Bueno, he encontrado de nuevo el tiempo para sentarme a escribir un poco y a programar ejemplos para aquellos que nos cuesta un poco la programación o simplemente necesitamos entender mejor las cosas.

He decido empezar esta semana hablando acerca de las estructuras de datos. Razón por la cual empezaré desde la parte mas elemental de cualquier estructura de datos. Un Nodo.

Un nodo es la parte mas elemental de cualquier estructura de datos (listas, pilas, colas, arboles, tablas hash...) en la cual se almacenan los datos a guardar en la estructura de datos. Esto quiere decir que un nodo es la parte más basica, donde guardamos los datos de cada elemento que compone nuestra estructura.

Un ejemplo de un nodo podría ser el siguiente:

Supongamos que nos vemos en la necesidad de alamacenar en memoria (usando una estructura de datos E) los datos de un número X de estudiantes. Los datos a guardar (de importancia) son los siguientes:
  • Nombre del estudiante
  • Número de ID del estudiante
  • Correo Electronico
Ya que sabemos cuales datos son importantes es necesario definir una clase llamada Estudiante, porque al final de cuentas un nodo es una clase, sí, una clase que es instanciada dentro los metodos y propiedades de una estructura de datos. Bueno nuestra clase de tipo "nodo" quedaria de la siguiente manera (codigo java):

Class Estudiante
{
  string Nombre;
  int Id;
  string Email;
}

Y, uds diran.... bueno... que tiene eso de especial, cual es la diferencia entre una clase y un nodo??? Pues bueno, un nodo tiene mismas instancias de su misma clase a la cual hace referencia (apuntadores) para que estos sean accesables desde una estructura de datos. Estas "referencias" o apuntadores hacia otro nodo dependeran de la estructura sobre la cual se trabaje. En este caso supondremos que es una lista. Por lo cual será necesario tener un apuntador hacia un nodo siguiente.

Bueno, dicho lo anterior, nuestra clase de tipo nodo estudiante quedará de la siguiente manera:

Class Estudiante
{
  string Nombre;
  int Id;
  string Email;
  Estudiante Siguiente;
}

Como se ha dicho que usaremos una lista, en esta los elementos estan linkeados mediante un apuntador siguiente, el cual ya hemos definido en nuestro nodo estudiante. Y listo, hemos creado el nodo estudiante para nuestra estructura de datos.

Comentarios

Entradas populares de este blog

Como hacer una matriz gráfica de botones en java

Modelo Entidad Relacion - Bug Tracker

Entidad Relacion Practica 2 IPC2