二叉搜索树如何迭代添加元素?publicvoidInsert(intvalue){if(valueData){if(RightNode==null){RightNode=newTreeNode(value);}else{RightNode.Insert(value);我写了一个方法来递归在BST中添加元素,它检查添加小于或大于的值并将其添加到适当的位置,但我想知道迭代方法是如何工作的?我需要为我的BST迭代添加方法。你可以在维基百科上找到一个Java实现,非常类似于C#http://en.wikipedia.org/wiki/Binary_search_tree我们从根开始:Noderoot=m_root;while(root!=null){然后看值os是否小于root。if(data现在我们知道我们是否需要向左或向右移动。左右的逻辑相同。我们检查插槽是否为空,如果是,我们将值放入该插槽。if(root.getLeft()==null){root.setLeft(newTreeNode(data,null,null));return;}如果槽包含一个值,我们将槽设置为根并继续这个过程。}else{root=root.getLeft();}好的,这是你的算法的迭代版本:publicvoidInsert(intvalue){TreeNodecurrent=this;while(current!=null){if(current.Data迭代方法是重复方法。迭代方法意味着它将被重复调用。递归意味着该方法将调用自身n次,其中n>0。使用调用自身(递归)直到找到分支末尾的方法来搜索二叉搜索树.执行插入操作将执行搜索以找到放置节点的正确位置。以上就是C#学习教程:如何迭代向二叉查找树添加元素?如果分享的所有内容对您有用,需要了解更多C#学习教程,希望您多多关注---本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
