【发布时间】:2014-06-10 03:50:23
【问题描述】:
public void Insert(int value)
{
if (value < Data)
{
if (LeftNode == null)
{
LeftNode = new TreeNode(value);
}
else
{
LeftNode.Insert(value);
}
}
else if (value > Data)
{
if (RightNode == null)
{
RightNode = new TreeNode(value);
}
else
{
RightNode.Insert(value);
}
}
}
我编写了在 BST 中递归添加元素的方法,它检查值以添加小于或大于并将其添加到适当的位置,但我想知道迭代方法是如何工作的?我的 BST 需要迭代添加方法。
【问题讨论】:
-
是的,非递归方法,实际上我正在从包含大约 10000 个单词的文本文件中读取数据,当我将它们添加到 BST 时,它给了我堆栈溢出异常。我认为递归方法是问题所在。
-
他尝试了什么?他已经放下了他的方法……
-
@Aki: 输入文件排序了吗?如果是这样,您正在构建一个链表而不是二叉树。每个元素都将添加到右侧。
标签: c# visual-studio-2010 binary-tree