【发布时间】:2011-04-15 01:47:03
【问题描述】:
任何人都可以向我建议任何指向用于在红黑树中插入和删除的迭代算法的指针吗? .Net/C# 中可用的所有算法都基于递归,我不能相信它可以处理大量数据(因此插入/删除的递归深度很大)。有人有基于迭代的吗?
注意:Goletas.Collection 使用 AVL 树的迭代算法,该算法对大量数据非常有效,我也希望 Red-Black Tree 也有类似的东西。
【问题讨论】:
-
由于红黑树是平衡的,因此包含
N元素的树的高度约为log_2(N)(最多2*log_2(N+1))。因此,即使您的结构非常大,递归操作也不会采取那么多步骤。当然,你还没有具体说明什么是“大”(你能澄清一下吗?)。另外,您是否尝试过使用现有的自平衡树实现?否则,如果您开始实施一些不必要的事情,那将是浪费时间。
标签: .net algorithm red-black-tree