假设我有一个简单的二叉树节点类,如下所示:
public class BinaryTreeNode {
public String identifier = "";
public BinaryTreeNode parent = null;
public BinaryTreeNode left = null;
public BinaryTreeNode right = null;
public BinaryTreeNode(BinaryTreeNode parent, String identifier)
{
th
现在我正在读算法导论,快速排序一章。它说尾递归可以用于优化。
QUICKSORT'(A, p, r)
while p < r
do ▸ Partition and sort left subarray.
q ← PARTITION(A, p, r)
QUICKSORT'(A, p, q - 1)
p ← q + 1
但是,如果每次迭代的枢轴数为1,n-1,则上述代码的堆栈深度将为O(n)。
QUICKSORT (A, p, r )
while p < r
do Partition and sort t
我试图通过以下算法构建一个基于数组的“二进制搜索树”:
在我需要重新开始之前,我的树就像:
R
/
A
\
F
\
L
/
B
\
C
\
T
递归地。然而,我注意到我需要回到根目录,"R"....Trying现在就这样做了。
void BST::insert(const data& aData)
{
item *y = NULL; // Algorithm calls for NULL assignment.