2 de marzo de 2017

Estructuras de datos (panorama general).

   De manera general, es posible decir que una computadora es una máquina que manipula y procesa datos.

   Ahora bien, las estructuras de datos están relacionadas con el estudio de cómo es que se organizan los datos dentro de una computadora, así de cómo es que se manipulan, procesan y emplean dichos datos para representar información que sea de utilidad para las personas (abstracción).

   Existen muchos tipos de estructuras de datos, y para cada una de ellas hay diferentes variaciones que las particularizan y especifican para un contexto de uso particular.

   Un tratado amplio y completo de las estructuras de datos queda fuera de los alcances de este blog, por lo que sólo se mencionarán algunas de las estructuras de datos más comunes y convencionales, así como algunas de sus variaciones.

   A continuación se presenta una descripción muy general de las estructuras de datos que se analizarán en entradas posteriores:
  • Pilas: son estructuras de datos ampliamente utilizadas y sumamente importantes en compiladores y sistemas operativos por ejemplo. En una pila, las inserciones y las eliminaciones se efectúan únicamente en un extremo de la estructura de datos: su parte superior.
  • Colas de espera: este tipo de estructuras de datos representan en general líneas de espera; las inserciones se efectúan en la parte posterior de la misma y las eliminaciones se realizan por la parte delantera.
  • Listas enlazadas: son colecciones de elementos de datos alineados en una fila. En una lista enlazada, las inserciones y las eliminaciones se efectúan en cualquier parte de la estructura de datos.
  • Árboles binarios: son estructuras de datos que facilitan la búsqueda, la clasificación u ordenamiento de los datos a alta velocidad, la eliminación de elementos duplicados, la representación de sistemas de archivos y directorios, y las expresiones de compilación entre otras muchas aplicaciones.
   Cada una de estas estructuras de datos tienen muchas otras y muy interesantes aplicaciones, algunas de las cuales, se presentan y describen en las entradas correspondientes a cada una de ellas.