二进制搜索树的操作最少

时间:2015-06-27 17:13:57

标签: java data-structures binary-search-tree

我目前正在按降序向二进制搜索树添加元素。通过在二进制搜索树中插入TreeNodes,该方法是使用递归的标准方法:

private void insert(TreeNode paramTreeNode1, TreeNode paramTreeNode2)
{
  this.operations += 1; 
  if (paramTreeNode2.getData() < paramTreeNode1.getData())
  {
    if (paramTreeNode1.getLeft() == null) 
    {
      paramTreeNode1.setLeft(paramTreeNode2);
    } 
    else 
    {
      insert(paramTreeNode1.getLeft(), paramTreeNode2); // recursive 
    }
  }
  else if (paramTreeNode1.getRight() == null) 
  {
    paramTreeNode1.setRight(paramTreeNode2);
  } 
  else 
  {
    insert(paramTreeNode1.getRight(), paramTreeNode2); //recursive
  }
}

然而,该方法电流具有> 2000次操作。以TreeNodes的降序插入BST以减少操作总数时,有什么更聪明的方法?

0 个答案:

没有答案