# data[].attributes.body
Las estructuras de datos son un medio para manejar grandes cantidades de datos de manera eficiente para usos tales como grandes bases de datos y servicios de indización de Internet. Por lo general, las estructuras de datos eficientes son clave para diseñar algoritmos eficientes.

# data[].attributes.attachment_link.readable_text
En programación, una estructura de datos es una forma de organizar un conjunto de datos elementales con el objetivo de facilitar su manipulación. Un dato elemental es la mínima información que se tiene en un sistema. Una estructura de datos define la organización e interrelación de estos y un conjunto de operaciones que se pueden realizar sobre ellos. Las operaciones básicas son: Alta, adicionar un nuevo valor a la estructura. Baja, borrar un valor de la estructura. Búsqueda, encontrar un determinado valor en la estructura para realizar una operación con este valor, en forma secuencial o binario (siempre y cuando los datos estén ordenados).

Un diccionario de datos es un conjunto de metadatos que contiene las características lógicas y puntuales de los datos que se van a utilizar en el sistema que se programa, incluyendo nombre, descripción, alias, contenido y organización.

En un diccionario de datos se encuentra la lista de todos los elementos que forman parte del flujo de datos de todo el sistema. Los elementos más importantes son flujos de datos, almacenes de datos y procesos. El diccionario de datos guarda los detalles y descripción de todos estos elementos.

Un modelo de datos es básicamente una "descripción" de algo conocido como contenedor de datos (algo en donde se guarda la información), así como de los métodos para almacenar y recuperar información de esos contenedores. Los modelos de datos no son cosas físicas: son abstracciones que permiten la implementación de un sistema eficiente de base de datos; por lo general se refieren a algoritmos, y conceptos matemáticos.

Tipo de dato informático es un atributo de una parte de los datos que indica al ordenador algo sobre la clase de datos sobre los que se va a procesar. Esto incluye imponer restricciones en los datos, como qué valores pueden tomar y qué operaciones se pueden realizar.

# data[].attributes.attachment_link.title
Estructuras de bases de datos - BASEDEDATOS

# data[].attributes.attachment_link.description
En programación, una estructura de datos es una forma de organizar un conjunto de datos elementales con el objetivo de facilitar su manipulación. Un dato elemental es la mínima información que se tiene en un sistema. Una estructura de datos define la organización e interrelación de estos y un conjunto de operaciones que se pueden realizar sobre ellos.

# data[].attributes.body
Una estructura de datos se caracteriza por lo siguiente: -Pueden descomponerse en los elementos que la forman. -La manera en que se colocan los elementos dentro de la estructura afectará la forma en que se realicen los accesos a cada elemento.

# data[].attributes.headline
¿POR QUÉ SON ÚTILES? Y ¿ PARA QUE SIRVEN LAS ESTRUCTURAS DE DATOS?

# data[].attributes.subject
¿POR QUÉ SON ÚTILES? Y ¿ PARA QUE SIRVEN LAS ESTRUCTURAS DE DATOS?

# data[].attributes.body
¿POR QUÉ SON ÚTILES?
Las estructuras de datos son útiles porque nos permiten tener una batería de herramientas para solucionar ciertos tipos de problemas. Además, nos permiten hacer un software más eficiente optimizando recursos, algo muy útil para IoT y para los entornos que trabajan con Big Data.

¿PARA QUE SIRVEN LAS ESTRUCTURAS DE DATOS?
Son ellas las que te permiten almacenar información, acceder a ella, modificarla, ordenarla, etc. Desde las más comúnmente utilizadas (digamos variables, arreglos, conjuntos, clases) hasta aquellas que solo las utilizarías con un propósito especifico (arboles, grafos, tablas hash y muchas otras). Una estructura de datos te permite trabajar a un alto nivel de abstracción.

# data[].attributes.headline
       OPERACIONES EN ESTRUCTURA DE DATOS

# data[].attributes.subject
       OPERACIONES EN ESTRUCTURA DE DATOS

# data[].attributes.body
Una estructura de datos define la organización e interrelación de éstos y un conjunto de operaciones que se pueden realizar sobre ellos.

Las operaciones básicas son:

-Alta, adicionar un nuevo valor a la estructura.
-Baja, borrar un valor de la estructura.
-Búsqueda, encontrar un determinado valor en la estructura para realizar una operación con este valor, en forma SECUENCIAL o BINARIO (siempre y cuando los datos estén ordenados)..

Otras operaciones que se pueden realizar son:

-Ordenamiento, de los elementos pertenecientes a la estructura.
-Apareo, dadas dos estructuras originar una nueva ordenada y que contenga a las apareadas.

# data[].attributes.body
Los conjuntos son una de las estructuras básicas de las matemáticas, y por tanto de la informática.
Las propiedades de las estructuras, forman un conjunto, y su cardinal es el número de elementos que contenga la estructura.
En los conjuntos no existen elementos repetidos, permitan aplicar el álgebra de conjuntos, ya sea unión, intersección, pertenencia entre otras.

# data[].attributes.body
Binarios
Bit
Byte
Numéricos
Entero
Real
Coma fija
Coma flotante
Alfanuméricos
Carácter
Cadena
Booleanos

# data[].attributes.headline
¿CUALES SON LOS TIPOS DE DATOS EN ENFORMATICA?

# data[].attributes.subject
¿CUALES SON LOS TIPOS DE DATOS EN ENFORMATICA?

# data[].attributes.body
Antes de introducirnos en los tipos de estructuras de datos, debemos especificar cuáles son los tipos de datos en informática que puede procesar una computadora para después generar una estructura.

Deberás saber que los tipos de datos más frecuentes utilizados en los lenguajes de programación son dos:

➤ Simples: no están compuestos por otra estructura; ocupan solo una casilla de memoria, por lo que una variable simple hace referencia a un único valor a la vez. Entre ellos se encuentran los siguientes valores: enteros, reales y carácter.

➤ Compuestos: que son los datos que con un nombre se hace referencia a un grupo de casillas de memoria; están construidos en base a los datos simples, un ejemplo puede ser una cadena de caracteres.

Ahora que ya sabes cuáles son los tipos de datos, veamos los distintos tipos de estructuras de datos.

# data[].attributes.body
Dentro de la estructura de datos estática, podemos encontrar a los arrays.

Arrays

¿Qué es un arrays? También conocido como arreglo o vector, un arrays es un conjunto finito y ordenado de elementos homogéneos. Su condición de ordenado hace que se pueda identificar del primer al último elemento que lo compone y, su condición de homogéneo, indica que sus elementos están compuestos por el mismo tipo de dato.

Pueden llegar a variar según el lenguaje de programación, pero lo importante es que, en cualquier lenguaje, un arrays es una estructura de datos que almacena a un conjunto de valores que pertenecen al mismo tipo de datos.

Estructura dinámica de datos

Las estructuras dinámicas de datos son una colección de elementos, llamados nodos, que normalmente se utilizan para dejar asentados registros. Al contrario de un array, que contiene espacio para almacenar un número fijo de elementos, una estructura dinámica de datos se amplía y contrae durante la ejecución del programa.

Se podría decir que se utilizan para el almacenamiento de datos del mundo real que están en constante cambio. Se las puede clasificar en dos grupos distintos: estructura de datos lineales y no lineales.

# data[].attributes.body
Estructuras lineales de datos

Las estructuras lineales de datos se caracterizan porque sus elementos están ubicados uno al lado del otro relacionados en forma lineal. Cada elemento de la estructura puede estar conformado por uno o varios subelementos o campos que pueden pertenecer a cualquier tipo de dato.

Dentro de las estructuras lineales podemos encontrar tres tipos:

Listas enlazadas

Pilas

Colas

Listas enlazadas

Estas listas, en la estructura de datos, se confeccionan con elementos que están ubicados uno tras otro en secuencia, donde cada elemento se conecta con el siguiente a través de un enlace (link) que contiene la posición del siguiente elemento. Sus operaciones dependen de la necesidad de aplicación y no siguen un mecanismo específico.

Según Aguilar, una lista enlazada se define por tres puntos:

La información que contienen sus elementos y sus respectivos enlaces.

El enlace que permite acceder al primer elemento de la lista.

Un medio para detectar el último elemento de la lista.

# data[].attributes.headline
¿CLASIFICACIÓN DE LAS ESTRUCTURA DE DATOS ?

# data[].attributes.subject
¿CLASIFICACIÓN DE LAS ESTRUCTURA DE DATOS ?

# data[].attributes.body
Los tipos de datos que nombramos anteriormente se pueden organizar mediante dos tipos distintos de estructura:

➤  Estructura de datos estática: según Luis Joyanes Aguilar, “son aquellas en las que el tamaño ocupado en memoria se define antes de que el programa se ejecute y no puede modificarse dicho tamaño durante la ejecución del programa”.

➤  Estructura de datos dinámica: estas no tienen las limitaciones del tamaño de memoria ocupada y, según Aguilar: “Mediante el uso de un tipo de datos específico, denominado puntero, es posible construir estructuras de datos dinámicas que son soportadas por la mayoría de los lenguajes que ofrecen soluciones eficaces y efectivas en la solución de problemas complejos”.

# data[].attributes.body
Pilas

La pila, en una estructura de datos, hace referencia a un tipo especial de lista lineal en la que la inserción y el borrado de nuevos elementos se realiza sólo por un extremo que se denomina cima o tope.

Es un elemento que encuentra varias comparaciones con situaciones de la vida real, como lo es ordenar una pila de libros. Esto se debe a su mecanismo llamado LIFO (last-in, first-out, último en entrar, primero en salir), en el cual el último elemento que se pone en la pila es el primero que se puede sacar. Los elementos se incorporan solo por un extremo que, en este caso, sería la cima de la pila.

Un ejemplo de método LIFO que se da en la vida real, puede ser cuando intentamos apilar libros, ropa o lo que sea, siempre agregamos objetos por encima y si necesitamos sacar alguno, quitamos el que se encuentra más arriba

# data[].attributes.body
Colas

¿Qué es una cola en una estructura de datos? Podemos decir que son otro tipo de estructura lineal similar a las pilas, diferenciándose de ellas en el modo de insertar/eliminar elementos. En este caso, las eliminaciones se realizan por el inicio de la fila, en tanto que las inserciones se realizan por el otro extremo, es decir, el final.

Las colas en la estructura de datos tienen un mecanismo que se conoce como FIFO (first-in, first-out - primero en entrar, primero en salir). De este modo, la diferencia con las pilas está en el modo en que ingresan y salen los datos. La utilidad de las colas yace en almacenar datos que necesitan ser procesados según el orden de llegada.

Aquí también hay varias analogías con la vida real. Pongamos como ejemplo la cola de un supermercado en la que el primer elemento que llega (cliente) es el primero en salir al ser atendido.

# data[].attributes.body
Estructuras no lineales de datos

Las estructuras de datos no lineales también son conocidas por el nombre de multienlazadas. En ellas, cada elemento puede estar enlazado a cualquier otro componente. Esto quiere decir que cada elemento puede tener varios sucesores o varios predecesores.

Las estructuras no lineales de datos son dos:

Árboles

Grafos

Árbol

Los árboles, en la estructura de datos, son una estructura no lineal que se utiliza para representar datos con una relación jerárquica en la que cada elemento tiene un único antecesor y puede tener varios sucesores.

Se puede realizar una clasificación de árboles en estructura de datos:

➤ Árbol general: que es un árbol donde cada elemento puede tener un número ilimitado de sub árboles.

➤ Árboles binarios: que son una estructura de datos homogénea, dinámica y no lineal en donde a cada elemento le pueden seguir como máximo dos nodos. Dentro de ellos podemos encontrar:

Distintos: posee una estructura distinta a la de otros árboles.

Similares: cuando su estructura es idéntica a la de otros árboles binarios, pero la información que guardan los nodos es diferente entre sí.

Equivalentes: cuando su estructura e información de sus nodos es idéntica a la de otros árboles binarios.

Equilibrados: las alturas de los dos subárboles de cada uno de los nodos tienen como máximo una diferencia de una unidad.

Degenerados: sus nodos tienen solo un sub árbol.

# data[].attributes.body
Grafos

Los grafos, en las estructura de datos, son otra estructura no lineal, así como los árboles. Aguilar los define de la siguiente forma:

“Formalmente un grafo es un conjunto de puntos —una estructura de datos— y un conjunto de líneas, cada una de las cuales une un punto a otro. Los puntos se llaman nodos o vértices del grafo y las líneas se llaman aristas o arcos”.

Si nos preguntamos ¿qué es un grafo y para qué sirve? Diremos que es una estructura matemática que permite modelar problemas de la vida cotidiana, mediante una representación gráfica, formada por nodos, que muestra las relaciones que hay entre los distintos componentes.

Podemos poner el ejemplo de una red social donde se establecen relaciones entre las personas que a su vez generan relaciones entre ellas interactuando, conformando así un grafo.