gpt4 book ai didi

c# - 为什么 .NET 中没有 Tree 类?

转载 作者:IT王子 更新时间:2023-10-29 03:38:34 26 4
gpt4 key购买 nike

.NET 中的基类库有一些优秀的集合数据结构(List、Queue、Stack、Dictionary),但奇怪的是它不包含任何二叉树数据结构。对于某些算法来说,这是一个非常有用的结构,例如那些利用不同遍历路径的算法。我正在寻找一个正确编写的免费实现。

我是不是瞎了,没有找到它……它被埋在 BCL 的某个地方了吗?如果没有,有人可以为二叉树推荐一个免费或开源的 C#/.NET 库吗?最好是使用泛型的。

编辑:澄清我在寻找什么。我对内部使用树的有序字典集合不感兴趣。我实际上对一棵二叉树很感兴趣——它公开了它的结构,这样你就可以做一些事情,比如提取子树,或者在节点上执行修复后遍历。理想情况下,可以扩展这样的类以提供专门树的行为(即红/黑、AVL、平衡等)。

最佳答案

你可以定义你自己的:

public class MyTree<K, V> : Dictionary<K, MyTree<K, V>>
{
public V Value { get; set; }
}

或未加密:

public class MyTree<V> : HashSet<MyTree<V>>
{
public V Value { get; set; }
}

关于c# - 为什么 .NET 中没有 Tree<T> 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/942053/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com