ruby中的树和图数据结构

我很难找到在ruby中使用的树数据结构。 我可以研究一些众所周知的吗? 我的要求很简单。 我想创建一个树(或者它可能是一个图形)并找到一些节点之间的距离。 例如,我可能有一个如下所示的树/图

A / \ B-----C / \ \ DEF 

我希望能够找到根节点(A)和所有其他节点之间的距离。 所以(A,B)之间的距离应该是1,(A,E)之间的距离是2,等等。即使从节点(A)你可以通过(A,B,C)到达(C),长度应该是因为有(A,C)的直接路径,所以仍然只是1。

我可以在ruby中使用树/图形gem吗?

看看gratr gem及其文档 。 它提供了用于表示各种类型的图形的类和用于查找其顶点之间距离的基本算法(请参阅Distance模块)。