Estructuras de datos lineales y no lineales

En la entrada de esta semana se tratará el tema de estructuras de datos lineales y no lineales. Algunos ejemplos de estas estructuras y características de las mismas.
     Para iniciar vamos a definir que es una estructura de datos; según la universidad internacional de Valencia en su artículo “Lo que debes saber si quieres estudiar informática” la estructura de datos está representada por una forma determinada que tenemos de organizar los datos de un equipo informático para que podamos utilizarlos de la manera más efectiva posible.
     Entonces en otras palabras una estructura de datos es la forma en la que el programador administra la información de manera que se le facilite para la tarea que debe cumplir.


Estructura de datos lineal.
Estructura de datos lineal.

     Rosa Arianna Paredes González, Abigail Huerta Macias, Ricardo Daniel Juárez Hernández, Miriam Arroyo Gutierrez, en su artículo “ESTR-ORG-DATOS” menciona que unas estructuras de datos lineal se caracterizan porque sus elementos están en secuencia, relacionados en forma lineal, uno luego del otro. Cada elemento de la estructura puede estar conformado por uno o varios sub-elementos o campos que pueden pertenecer a cualquier tipo de dato, pero que normalmente son tipos básicos.
     Estas estructuras se dividen en 2 tipos; listas de acceso no restringidas y las listas de acceso restringidas.
     Las listas de acceso restringido son pilas, colas y dipolos. Según el artículo anterior estas se definen de la siguiente manera.
·         Pilas: Las operaciones de acceso se realizan por un único extremo de la lista, al cual normalmente se denomina tope de la pila. Las operaciones básicas sobre una pila son: crearlo, destruirla, agregar un nuevo elemento, suprimir un elemento, consultar el elemento del tope verificar si está vacía.

·         Colas: Estas operaciones de acceso se realizan por ambos extremos de la lista llamados gralmente, inicio y fin de la cola. Operaciones básicas son: creación, destrucción, inserción al final de un nuevo elemento, consultar que elemento esta al inicio y cual al final, y verificar si la cola está vacía.

·         Dipolos: Son colas dobles, en este caso todas las operaciones se pueden hacer por ambos extremos, es decir se pueden insertar o eliminar elementos por el tope o por el fin, a diferencia de la cola donde se inserta siempre por el fin y se elimina por el tope.

     Las listas de acceso no restringidos son también llamadas listas, en el artículo anterior se da la siguiente definición, son el tipo más gral, al cual se le considera como la superclase de las otras clases de listas. Tipo + gral de estructura lineal donde las inserciones y eliminaciones se hacen en cualquier punto de la lista, por ello se dede especificar donde se requiere que se haga la operación.

Estructuras de datos no lineales.
     Esta es la otra división de las estructuras de datos sobre la que se hablara en esta entrada.
     Según Mauricio Paletta, en el artículo ingeniería en informática, las estructuras de datos no lineales son aquellas que ocupan bloques de memoria no continuos/ lineales, para lidiar con el problema de la fragmentación y sobre todo el crecimiento dinámico.
     Además, menciona que los datos se encuentran entrelazados unos con otros esto para poder viajar por la estructura, en otras palabras, tener acceso a otros datos a partir del actual.
     En estas estructuras existen 2 secciones que según Mauricio Paletta en el artículo ingeniería en informática son los siguientes:
·         Las listas enlazadas: Formadas por nodos que se enlazan entre si partiendo de un nodo inicial, además, menciona que si cada nodo apunta solo a su siguiente se dice que la lista es enlazada simple, pero si también incluye una referencia al nodo anterior entonces esta lista se llama enlazada doble.

Árbol.

·         Los árboles: Tipo particular de grafo sin ciclos formada por nodos en la cual cada uno de ellos puede apuntar a uno o varios otros nodos. Entre los nodos se establece una relación de ascendencia/descendencia, nodo padre, nodo hijo, nodo raíz, nodo hoja.

     Estas estructuras tienen diferencias muy notorias entre si, las cuales no hace a una mejor que la otra, simplemente le da al programador la facilidad de elegir la estructura de datos que le ayude a solucionar la tarea por realizar de una manera más rápida y eficiente.
     Acá queda demostrado esa frase de que la programación es muy flexible pues le da al programador la libertad de elegir la manera en que quiere realizar una tarea.




Fuentes:

Comentarios

Entradas populares de este blog

Archivos en la computación ¿Que es un archivo?

Compresion de archivos