Son muy parecidos. Sin embargo, un árbol implica una estructura jerárquica, mientras que un gráfico implica conexiones arbitrarias.
Piensa en un sistema de archivos. ¿Es un árbol o un gráfico? Si visualiza la estructura del directorio, probablemente concluiría que es un árbol debido a la forma en que se “ramifica” en una forma jerárquica limpia.
- ¿Cuáles son todas las estructuras de datos que conoce? ¿Cuál de estos usas con frecuencia? Agrúpelos en "Básico" y "Avanzado".
- ¿Cómo se siente Bram Cohen al haber creado accidentalmente un algoritmo para el cifrado totalmente homomórfico?
- ¿Apache Hadoop es realmente bueno para algoritmos recursivos?
- Cómo saber cuándo usar .add o .put para agregar a una matriz en Java
- ¿Cuáles son las aplicaciones en tiempo real del árbol binario enhebrado?
(Imagen de ejemplo de: ¿Qué es el sistema de archivos? – Definición de WhatIs.com )
Ahora puede hacer que los sistemas de archivos se parezcan más a un gráfico si usa enlaces de archivos, pero ese no es un ejemplo terriblemente bueno de un gráfico. Un mejor gráfico es tuyo y de tus amigos en Facebook. Puede representar gráficamente todas las relaciones que tiene allí, pero no hay un punto de partida claro. (¡Y muy probablemente no haya puntos finales!) Se podría decir que USTED es la raíz (porque el universo gira alrededor de USTED, ¿verdad?), Pero eso no sería más válido que su amiga argumentando que ella es el punto central.
(Ejemplo del usuario Murta en StackExchange: ¿Cómo jugar con datos de Facebook dentro de Mathematica? )
Ambas soluciones funcionan a partir de “nodos” que unen los elementos. La única diferencia práctica real es que un árbol tiene un punto de partida claro, mientras que un gráfico debe permitir la búsqueda de los nodos independientemente del recorrido. De lo contrario, nunca podría encontrar un lugar para comenzar.