.NET 内置 AVL 树?

发布于 2024-12-25 13:01:52 字数 213 浏览 3 评论 0原文

.NET 库中有内置的 AVL 树吗?

我搜索过但没有找到。

  • 如果有的话,那么在哪里呢?什么命名空间?
  • 如果没有,C# 中 AVL 树有什么好的实现吗?
  • 如果还没有!那么有没有一种简单的方法可以完成呢?我知道它是如何工作的,并且之前已经用原生 C++ 构建过一个,但现在我没有时间,而且担心如果我自己做的话性能会很差。

Is there a built in AVL Tree in the .NET libraries?

I searched but didn't find any.

  • If there is, then where? what namespace?
  • If not, is there any good implementation for AVL Trees in C#?
  • If also not! then is there an easy way to get it done? I know how it works and have built one in native C++ before, but now I have no time and am afraid of bad performance if I did it myself.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

空城旧梦 2025-01-01 13:01:52

您可以使用 System.Collections.Generic.SortedSet。我认为它是使用红黑树实现的,它非常相似< /a> 到 AVL 树。

You can use a System.Collections.Generic.SortedSet<T>. I think it is implemented using a red-black tree which is very similar to an AVL tree.

筑梦 2025-01-01 13:01:52

快速搜索此处找到了一个实现。代码看起来很干净,但我还没有尝试过。

如果没有别的事,您可以对 SortedSet (按照 @Josef 的建议)进行快速性能测试,看看您的用例是否有任何差异。

A quick search found an implementation here. The code looks clean, but I haven't tried it.

If nothing else, you could do a quick performance test against SortedSet<T> (as suggested by @Josef) to see if there's any difference for your use case.

傲性难收 2025-01-01 13:01:52

可以在 @ http://code.google.com/p 找到 C# 实现/self-balancing-avl-tree/ 。还实现了连接和拆分操作。

a C# implementation can be found @ http://code.google.com/p/self-balancing-avl-tree/ . concat and split operations are also implemented.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文