从平面收集分层树建筑
本文关键字:建筑 分层 平面 | 更新日期: 2023-09-27 18:15:30
我需要从分层平面集合中构建一个树,以点(.)分隔,例如c#中的名称空间。以下是作为集合(有序)的一些条目值:
A0.A0.A0
A1
A1.A2
A2.A3.A3.A2
A3.A2
A3.A4.A5.A3
A3.A4.A5.A4
B0.B1.B0
B1.B2
B1.B2.B3
B1.B2.B4
这个集合看起来像c#中的命名空间。因此,让我们假设它们是名称空间(您可以理解A.A.A.A名称空间实际上是合法的)。
我需要什么?
我需要这个集合中的父子树,像这样(注意,我们节省了一些空间,将一些名称连接在一起):
A0.A0.A0
A1
A2
A2.A3.A3.A2
A3
A2
A4.A5
A3
A4
B0.B1.B0
B1.B2
B3
B4
在本例中,我们将只有6个根对象。
这是我们算法的接口:
public interface IParentChild
{
IEnumerable<IParentChild> Children { get; set; }
string FullName { get; set; }
string Name { get; set; }
}
有什么建议吗
-
使用此答案中给出的Trie数据结构解析1tb的文本并有效地计算每个单词的出现次数
-
修改#1中的树生成代码来存储命名空间
-
遍历tree并将内容输出到控制台
如果您需要更多的细节,请在此注释,我可以快速编写。