Google+ Seguidores

lunes, 7 de enero de 2019

¿Qué son las estructuras de datos? - Implementaciones en Python

Introducción:

Hola amigos de Internet, mi nombre es Luis, y les doy a bienvenida a Mi Diario Python.

En este articulo nos dedicaremos a conocer las Estructura de Datos. Y veremos las implementaciones de algunas de estas utilizando el lenguaje de programación Python.

¿Estas listo?.

¿Qué demonios son las estructuras de datos? 

Si te dedicas a la programación, de seguro te has topado con este tema. Y no te preocupes si al leer acerca del tema la primera vez te aya resultado difícil entenderlo del todo. A todos nos pasa, o al menos a la mayoría. 

Hablando de una forma sencilla, las estructuras de datos son formas de representar información de manera estructurada.

De igual manera que utilizamos los Arrays para almacenar una cantidad determinada de elementos, podemos utilizar las estructuras de datos con un comportamiento interno definido por nosotros, o en otros casos, por otro programador.

Para entender un poco mejor, veamos un ejemplo:

Supongamos que realizaremos un sistema para el registro de un numero indeterminado de personas y que me devuelva la ultima persona registrada.

Para un caso como este, la mejor opción es utilizar una estructura de datos conocida como Stack, la cual apila elementos, y siempre devuelve el ultimo agregado. Ya he escrito sobre la estructura de datos Stack, puedes ver el articulo ingresando al siguiente enlace:

Implementación de una Pila (Stack) en Python


Estructuras de Datos.




La imagen anterior nos muestra la manera en la que están clasificadas las estructuras de datos. 

He agrupado una serie de implementaciones de estructuras de datos escritas en Python. Todas ellas dinámicas, tanto lineales como no lineales. 

Mencionare algunas. Si quieres ver todas las implementaciones. Ingresa al siguiente enlace: https://github.com/LuisAlejandroSalcedo/Estructuras-De-Datos.

1- Árbol AVL:

Un árbol AVL es un tipo especial de árbol binario ideado por los matemáticos rusos Adelson-Velskii y Landis. Fue el primer árbol de búsqueda binario auto-balanceable que se ideó.

Es un árbol binario de búsqueda en el que para cada nodo, las alturas de sus subárboles izquierdo y derecho no difieren en más de 1.
No se trata de árboles perfectamente equilibrados, pero sí son lo suficientemente equilibrados como para que su comportamiento sea lo bastante bueno como para usarlos donde los ABB no garantizan tiempos de búsqueda óptimos.
El algoritmo para mantener un árbol AVL equilibrado se basa en reequilibrados locales, de modo que no es necesario explorar todo el árbol después de cada inserción o borrado.


2- Grafo:

En matemáticas y ciencias de la computación, un grafo (del griego grafos: dibujo, imagen) es un conjunto de objetos llamados vértices o nodos unidos por enlaces llamados aristas o arcos, que permiten representar relaciones binarias entre elementos de un conjunto.​ Son objeto de estudio de la teoría de grafos.


3- Listas Enlazadas:

En ciencias de la computación, una lista enlazada es una de las estructuras de datos fundamentales, y puede ser usada para implementar otras estructuras de datos


4- Arboles Binarios:

En ciencias de la computación, un árbol binario es una estructura de datos en la cual cada nodo puede tener un hijo izquierdo y un hijo derecho. No pueden tener más de dos hijos. Si algún hijo tiene como referencia a null, es decir que no almacena ningún dato, entonces este es llamado un nodo externo.



Hasta aquí el articulo de hoy día. Espero que te haya sido de ayuda. Y hayas aprendido algo. 

Mi nombre es Luis, y fue un placer compartir mis conocimientos con todos ustedes :D.

No hay comentarios :
Write comentarios

Tu comentario es importante y nos motiva a seguir escribiendo...

Powered by Blogger .