C#中的树数据结构我正在寻找C#中的树或图形数据结构,但我想没有提供一种。使用C#2.0对数据结构的广泛检查解释一下为什么。是否有一个通常用于提供此功能的方便库?也许可以通过一种策略模式来解决本文中提出的问题。我觉得实现自己的树有点傻,就像我会实现自己的ArrayList一样。我只想要一棵可能不平衡的通用树。想想目录树。C5看起来很漂亮,但是它们的树结构看起来像平衡的红黑树,比表示节点的层次结构更适合搜索。
3 回答
慕田峪9158850
TA贡献1794条经验 获得超8个赞
泛舟湖上清波郎朗
TA贡献1818条经验 获得超3个赞
白板的微信
TA贡献1883条经验 获得超3个赞
delegate void TreeVisitor<T>(T nodeData);class NTree<T>{
private T data;
private LinkedList<NTree<T>> children;
public NTree(T data)
{
this.data = data;
children = new LinkedList<NTree<T>>();
}
public void AddChild(T data)
{
children.AddFirst(new NTree<T>(data));
}
public NTree<T> GetChild(int i)
{
foreach (NTree<T> n in children)
if (--i == 0)
return n;
return null;
}
public void Traverse(NTree<T> node, TreeVisitor<T> visitor)
{
visitor(node.data);
foreach (NTree<T> kid in node.children)
Traverse(kid, visitor);
}}- 3 回答
- 0 关注
- 684 浏览
添加回答
举报
0/150
提交
取消
