使用Java,是否可以编写递归方法在二进制搜索树中查找元素?我说“不”是因为递归重新跟踪的性质,除非我实现得不正确?我一直在网上搜索,我所能找到的只是一个迭代版本。this.rightNode = right; }
BSTbst = new BST();
// initialize the root no
我读过关于将递归算法转换为迭代算法的文章。我遇到了一个博客文章,它解释了首先将递归算法转换为尾递归算法,然后将尾部递归算法转换为迭代算法的过程。在文章中,我们解释说,当我们要将递归算法转换为尾递归算法时,我们首先应该了解return of the recursive call和return statement of the calling function.之间的情况,一旦完成了,我们应该尝试向递归函数中添加一个秘密的特性/累加器参数,然后决定返回什么。Ret
data class Bst<T: Comparable<T>>(var left: Bst<T>?, var value: T, var right: Bst<T>?): false true }不幸的是,当我将它粘贴到中时,它告诉我递归调用不是尾递归的。如果我将left?.在kotlin看来,如何才能使这些调用具有尾部递归特性呢?