我们需要从中创建树结构的大量对象。但是,我们的问题是我们只知道每个对象的父...这使得它有点棘手,因为这需要很快。
从只有父节点已知的对象集合创建树图的最佳算法是什么?
答案 0 :(得分:6)
为每个对象创建一个子集合。遍历所有对象并将每个对象添加到其父集合中 要从所有对象创建树,您必须至少查看一次对象。 从它看来的问题来看,有一种从对象到其父对象的快速方法。 所以这似乎和它一样快:
List millionsOfObjects = new List<SomeObject>();
FillMillonsOfObject();
foreach(SomeObject someObject in millionsOfObjects)
{
SomeObject parent = someObject.GetParent();
parent.Children.Add(someObject);
}
答案 1 :(得分:0)
这会更容易吗?您不必复制对象,是吗?
List millionsOfObjects = new List<SomeObject>();
FillMillonsOfObject();
foreach(SomeObject someObject in millionsOfObjects)
{
someObject.GetParent().children.add(someobject)
}