Aplicaciones de la estructura de datos de árbol

¿Qué es el árbol?
El árbol es una colección de Nodes. Un árbol es una estructura de datos jerárquica. El árbol es una estructura de datos no lineal que contiene Nodes y bordes. 

Terminologías:

De acuerdo con la imagen de ejemplo anterior del árbol.

Nodes: 1 2 3 4 5 6 7 8 9 10 11 13 14

Raíz: 1

Nodes internos: 1 2 3 4 5 6 7

Nodes externos: 8 9 10 11 13 14

(Padre, Hijo) : (1, 2 y 3), (2, 4 y 5), (3, 6 y 7), (4, 8 y 9), (5, 10 y 11), (6, 13 ) , (7,14)

Hermanos: (2, 3), (4, 5), (6, 7), (8, 9), (10, 11)

¿Por qué árbol? 
A diferencia de Array y Linked List, 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 podría ser que desea almacenar información que forme una jerarquía de forma natural. Por ejemplo, el sistema de archivos en una computadora: 

    sistema de archivos 
    ———– 
     

     /   <-- root
  /      \
...        home
      /          \
   ugrad        course
    /          /    |    \
  ...        cs101 cs112 cs113
  1. Si organizamos las claves en forma de árbol (con algún orden, por ejemplo, BST), podemos buscar una clave determinada en un tiempo moderado (más rápido que la Lista enlazada y más lento que las arrays). Los árboles de búsqueda autoequilibrados, como AVL y Red-Black, garantizan un límite superior de O (Logn) para la búsqueda.
  2. Podemos insertar/eliminar claves en un tiempo moderado (más rápido que las arrays y más lento que las listas enlazadas desordenadas). Los árboles de búsqueda autoequilibrados, como AVL y Red-Black, garantizan un límite superior de O (Logn) para la inserción/eliminación.
  3. Al igual que las listas vinculadas y, a diferencia de las arrays, la implementación de punteros de los árboles no tiene un límite superior en la cantidad de Nodes, ya que los Nodes se vinculan mediante punteros.

Otras aplicaciones : 
 

  1. Almacene datos jerárquicos, como estructura de carpetas, estructura de organización, datos XML/HTML.
  2. El árbol de búsqueda binaria es un árbol que permite realizar búsquedas rápidas, insertar y eliminar datos ordenados. También permite encontrar el artículo más cercano.
  3. Heap es una estructura de datos de árbol que se implementa mediante arrays y se utiliza para implementar colas de prioridad.
  4. B-Tree y B+ Tree : Se utilizan para implementar la indexación en bases de datos.
  5. Árbol de sintaxis : escaneo, parsing, generación de código y evaluación de expresiones aritméticas en el diseño del compilador.
  6. Árbol KD: un árbol de partición de espacio utilizado para organizar puntos en el espacio dimensional K.
  7. Trie : se utiliza para implementar diccionarios con búsqueda de prefijos.
  8. Árbol de sufijos : para una búsqueda rápida de patrones en un texto fijo.
  9. Los árboles de expansión y los árboles de ruta más corta se utilizan en enrutadores y puentes, respectivamente, en redes informáticas.
  10. Como un flujo de trabajo para componer imágenes digitales para efectos visuales.
  11. Árboles de decisión.
  12. Organigrama de una gran organización.
  13. En el analizador XML.
  14. Algoritmo de aprendizaje automático.
  15. Para la indexación en la base de datos.
  16. Servidor IN como DNS (Servidor de nombres de dominio)
  17. En Computación Gráfica.
  18. Para evaluar una expresión.
  19. En el juego de ajedrez para almacenar movimientos de defensa del jugador.
  20. En máquina virtual java.

Referencias: 
http://www.cs.bu.edu/teaching/c/tree/binary/  
http://en.wikipedia.org/wiki/Tree_%28data_structure%29#Common_uses 

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente. 

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *