# data[].attributes.headline
¿Qué estructuras de datos conforman las estructuras de datos lineales?

# data[].attributes.subject
¿Qué estructuras de datos conforman las estructuras de datos lineales?

# data[].attributes.body
Estructuras lineales y no lineales

Las estructuras de datos simples se pueden combinar de varias maneras para formar estructuras mas complejas. Las dos clases principales de estructuras de datos complejas son las lineales y las no lineales, dependiendo de la complejidad de las relaciones lógicas que representan. Las estructuras de datos lineales incluyen pilas, colas y listas ligadas lineales. Las estructuras de datos no lineales incluyen grafos y arboles.

# data[].attributes.body
Una de las estructuras lineales de datos mas comunes es la pila. Las operaciones que definen una estructura de datos de tipo pila se presentan para dar paso a la declaración y manipulación de pilas.

Lista lineal: Es una estructura de datos formada por un conjunto de elementos ordenados; el numero de elementos en la lista puede variar. Se puede borrar un elemento o insertar en cualquier posición de la lista. Asi la lista puede crecer o decrecer al transcurrir el tiempo.

Pila

Una pila (stack) es un caso especial de una lista lineal en el cual, la inserción y supresión son operaciones que solo pueden ocurrir en un extremo de la pila, el cual se denomina como tope de la pila. Si se meten varios elementos en la pila y después se sacan de esta, el ultimo elemento en entrar será el primero en salir. (LIFO: last in first out).

# data[].attributes.body
Existen cuatro operaciones básicas que son validas para el tipo de datos pila:

1.    Crear (pila)

2.    Está-vacía (pila)

3.    Meter (elemento, pila)

4.    Sacar (pila)

# data[].attributes.body
Es otro caso especial de la estructura de datos de lista lineal. Mientras que en las pilas se restringe la adicion y supresión de elementos a través de un solo extremo, llamado tope de la lista, a las colas se les restringe a que los elementos se supriman por el frente y se agreguen por atrás.

En una cola la inserción se hace estrictamente por un extremo de la lista, al cual podemos llamar fondo; la supresión solo puede hacerse por el otro extremo de la lista, al cual llamamos frente.
Operaciones de colas

Existen cuatro operaciones básicas validas para los datos tipo cola:

1.    Crear (cola)

2.    Está-vacía(cola)

3.    Insertar(elemento, cola)

4.    Eliminar(cola)

# data[].attributes.body
Listas ligadas

En una línea lineal ligada se representan elementos unidos mediante nodos. Hay un apuntador para el primer nodo de la lista, y cada nodo tiene una liga al siguiente nodo. El ultimo nodo tiene un apuntador NULO, el cual indica que no hay ningún nodo siguiente. Cada nodo tiene dos secciones: el contenido de datos y el campo del apuntador.
Una lista vacia es aquella que no contiene nodos. La representación de lista ligada para una lista vacia es solo un apuntador nulo, al que llamamos “primero”. La operación para crear una lista vacia es:
Operaciones básicas en una lista ligada

Notacion

Sea P una variable apuntadora, cuyo valor es una dirección ( la localidad de alguna otra variable). Las operaciones validas para las variables apuntadoras son las siguientes:

1.    Examinar si un apuntador es Nulo

2.    Examinar la igualdad con otra variable apuntadora

3.    Inicializar con Nulo

4.    Asignar a un apuntador la dirección de un nodo.

# data[].attributes.body
Trayectorias

Una trayectoria en un grafo es una secuencia de una o mas aristas que conecta a dos nodos.  La longitud de la trayectoria es el numero de aristas que la componen.

Ciclos

Un ciclo es una trayectoria sobre la cual se cumple con las siguientes dos condiciones:

1.    Ninguna arista puede aparecer mas de una vez en una secuencia de aristas.

2.    El nodo inicial de la trayectoria es el mismo que el nodo terminal. (P(v,v)).

Un grafo sin ciclos se dice que es aciclico.

# data[].attributes.headline
¿Qué estructuras de datos conforman las estructuras de datos no lineales?

# data[].attributes.subject
¿Qué estructuras de datos conforman las estructuras de datos no lineales?

# data[].attributes.body
En estas estructuras cada elemento puede tener varios elementos “siguientes”, lo cual introduce el concepto de estructuras de ramificación. Estas estructuras de datos de ramificación son llamadas grafos y arboles.

Un grafo es un conjunto de puntos y un conjunto de líneas, con cada línea se une un punto a otro. Los puntos se llaman los nodos del grafo, y las líneas se llaman aristas. Un grafo nulo es un grafo con orden cero.

Una arista esta determinada por los nodos que conecta. Un grafo esta completamente definido por sus conjuntos de nodos y aristas. La posición real de estos elementos en la pagina no tiene importancia. Algunas aristas pueden conectar un nodo a si mismo,  a estas aristas se les llama bucles.

Un grafo G se llama grafo simple si las siguientes condiciones son validas.

1.    No tiene ciclos (no existe una arista en E de la forma (v,v), donde V esta en V)

2.    No hay mas de una arista uniendo un par de nodos, esto es, no existe mas de una arista en E de la forma (v ₁,v ₂), para cualquier par de elementos v y v en V G

Un grafo que no es simple algunas veces es llamado multígrafo. Encontrara, que a las aristas también se les conoce como arcos y a los nodos como vértices.

Un grafo conexo es una grafica que no se puede dividir en dos graficas, sin eliminar por lo menos una de las aristas.

# data[].attributes.body
Grafos dirigidos

En el grafo dirigido se les asigna dirección a las aristas de la grafica. Cada arista del grafo dirigido incluye una flecha para indicar la dirección.
El grado interno de un nodo en un grafo es el numero de aristas que terminan en ese nodo; el grado externo de un nodo, es el numero de aristas que salen de ese nodo. El grado de un nodo es la suma de sus grados internos y externos.

ARBOLES
Un árbol es un grafo conexo, simple y aciclico. Un árbol no contiene  ni ciclos ni bucles; existe una sola arista entre cualquier par de nodos.

# data[].attributes.body
Aplicación de la estructura lineal

1. Cuando se trata de una organización pequeña o en etapa de desarrollo.

2. Cuando no requiere directivos o técnicos especializados.

3. Cuando la organización lleva a cabo tareas que resultan repetitivas o frecuentes.

Características

1. Posee una jerarquización de la autoridad en la cual los superiores son obedecidos por sus respectivos subalternos.

2. Únicamente se comercializan los órganos o cargos a través de las líneas presentes del organigrama, excepto los citados en la cima del mismo.

3. Posee una estructura piramidal: a medida que los eleva, la jerarquía disminuye el número de cargos u órganos.

Ventajas

Relación de autoridad clara.

Subordinación jerárquica: no existe posibilidad de interferencia.

Control directo e inmediato.

Desventajas

1. Falta de flexibilidad para adaptarse al crecimiento de la empresa.

2. Los niveles jerárquicos se toman imprescindibles y difíciles de reemplazar si es necesario.