我正在尝试解决一个编程问题,我需要实现以下算法(大致):
有几个节点,即A,B,C等。
每个节点中可以有多个项目,即 a、b、c、x、y、z 等。例如,
A [a, b, c, x, y, z]
B [a, b, c]
C [x, y, z]
可以有无限数量的节点和项目,节点中可以有任意数量的项目(但相同的项目不会再次重复)。
我要做的是我必须根据节点内的公共项目在节点之间创建层次结构。所以,在上面的例子中,A 应该比 B 和 C 具有更高的层次结构。或者换句话说,A 是 master,B 和 C 是 slave。
所以,我在想如果我可以根据公共项目从节点制作一棵树,那么对我来说会更容易。但我不知道使用哪种算法。有人知道哪个适合我的情况吗?构建树不是强制性的,如果有其他方法可以实现相同的事情,那就没问题了。谢谢。