Estructura de Datos Wiki

¿Qué son las estructuras de datos?
Las estructuras de datos es una rama de las ciencias de la computación que estudia y aplica diferentes formas de organizar información dentro de una aplicación, para manipular, buscar e insertar estos datos de manera eficiente.

Entre las diferentes estructuras de datos podemos encontrar las siguientes:

Arrays
Los arrays son una estructura que almacena los datos un elemento al lado del otro. En la mayoria de lenguajes de programación esta estructura de datos es de tamaño fijo y no puede guardar datos de diferentes tipos, es decir no puedo guardar valores numericos y booleanos al mismo tiempo, aunque claramente hay excepciones, por ejemplo: Javascript

Es recomendable usar arrays cuando el acceso a estos datos se realizan de manera aleatoria, en caso contrario es recomendable usar las listas



Listas enlazadas
Las listas enlazadas son un tipo de estructura de datos similar a los arrays con la diferencia de que por defecto no tenemos por qué saber la cantidad de elementos que va a contener. Estas listas se componen de   los cuales tienen dos atributos: el primero es el item o elemento que va a contener este nodo y el segundo atributo es una referencia al siguiente elemento de la lista.



Pilas
Las pilas son un tipo de listas que tienen la particularidad de sólo poder eliminar o insertar en la   de la lista. A estas acciones se le conocen como apilar y desapilar y conlleva a que el último elemento que ingresa a la pila sea el primero en salir a lo cual se le conoce como LIFO (Last in First out).

Colas
Esta estructura es otro tipo de lista que nos permite emular el comportamiento de una fila o cola de la vida real donde el primer elemento en ingresar a la fila es el primero en salir, lo que quiere decir que las inserciones (Encolar) se realizan al final y las extracciones (Desencolar) se realizan al frente de la cola, lo cual se conoce como FIFO (First in First out).

Arboles binarios
Los arboles binarios son estructuras de datos que se componen de una nueva clase de   donde cada uno contiene un item o un valor, una referencia a un nodo que sera el hijo izquierdo y otra referencia para el nodo derecho, una característica esencial de los arboles binarios es que la inserción de sus elementos se realizan siguiendo un criterio, si el item del nodo a insertar es menor a su nodo padre, la inserción se realiza por la izquierda y en caso contrario la inserción se realiza por el lado derecho y como consecuencia de esto nuestro arbol siempre estara organizado de tal manera que los hijos izquierdos de cada nodo seran menores a el y los derechos seran mayores, lo cual nos permite realizar búsquedas muy eficientes debido a la organización de esta información donde para buscar un elemento solo es necesario ir comparando el valor a buscar con el valor del nodo actual y asi tomar la decisión si ir por la izquierda o por la derecha, ahorrandonos las búsquedas por el otro lado del arbol.