C#中的树数据结构我正在寻找C#中的树或图形数据结构,但我想没有提供一种。使用C#2.0对数据结构的广泛检查解释一下为什么。是否有一个通常用于提供此功能的方便库?也许可以通过一种策略模式来解决本文中提出的问题。我觉得实现自己的树有点傻,就像我会实现自己的ArrayList一样。我只想要一棵可能不平衡的通用树。想想目录树。C5看起来很漂亮,但是它们的树结构看起来像平衡的红黑树,比表示节点的层次结构更适合搜索。
3 回答
慕田峪9158850
TA贡献1794条经验 获得超7个赞
泛舟湖上清波郎朗
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 关注
- 602 浏览
添加回答
举报
0/150
提交
取消