¿Cuáles son las aplicaciones del mundo real de varias estructuras de datos?

  • Cualquier parte de datos contiguos, búfer o cadena es una matriz, casi todos los programas los usan.
  • Los árboles binarios equilibrados y las tablas hash se utilizan para representar conjuntos y matrices asociativas.
  • Las listas enlazadas se utilizan ampliamente en el kernel de Linux para varios propósitos
  • Tries y los árboles de sufijo se utilizan para algoritmos basados ​​en texto
  • Los árboles binarios son utilizados por el algoritmo de codificación de Huffman para la compresión de datos
  • B-Trees y muchas otras estructuras de datos similares se utilizan en sistemas de archivos
  • Las colas se utilizan en la mayoría de las implementaciones de paso de mensajes, incluidas las pilas de red.
  • Los gráficos se utilizan para resolver una gran cantidad de problemas.

En general, las estructuras de datos fundamentales más importantes que necesita el 99% del tiempo (como se implementó en C ++) son vectoriales, mapas y conjuntos. Puedes descomponer la mayoría de los problemas al usar estos.

A diferencia de Array y la Lista enlazada, que son estructuras de datos lineales, el árbol es una estructura de datos jerárquica (o no lineal).

1) Una razón para usar árboles puede ser porque desea almacenar información que naturalmente forma una jerarquía. Por ejemplo, el sistema de archivos en una computadora:

sistema de archivos
———–

/ <- raíz
/ \
… casa
/ \
curso de ugrad
/ / | \
… cs101 cs112 cs113

2) Si organizamos las claves en forma de árbol (con algunos pedidos, por ejemplo, BST), podemos buscar una clave determinada en un tiempo moderado (más rápido que la Lista vinculada y más lento que las matrices). Los árboles de búsqueda de equilibrio automático como los árboles AVL y Rojo-Negro garantizan un límite superior de O (Logn) para la búsqueda.

3) Podemos insertar / eliminar claves en un tiempo moderado (más rápido que los Arrays y más lento que las Listas enlazadas no ordenadas). Los árboles de búsqueda de equilibrio automático como los árboles AVL y Rojo-Negro garantizan un límite superior de O (Logn) para la inserción / eliminación.

4) Al igual que las listas enlazadas y, a diferencia de las matrices, la implementación del puntero de los árboles no tiene un límite superior en el número de nodos, ya que los nodos están vinculados mediante punteros.

Según Wikipedia, los siguientes son los usos comunes del árbol.
1. Manipular los datos jerárquicos.
2. Haga que la información sea fácil de buscar (ver recorrido de árbol).
3. Manipular listas ordenadas de datos.
4. Como flujo de trabajo para la composición de imágenes digitales para efectos visuales.
5. Los algoritmos de enrutador

También sigue este enlace

¿Cuáles son las aplicaciones en tiempo real de las estructuras de datos?

Espero que esto ayude

Gracias

Compilador C + C ++: MinGW puerto de GCC

Sistema de Control de Versiones Build +: SCons + Bazaar