Java 计算BST中的节点数
各位,我已经实现了计算二叉树中Java 计算BST中的节点数,java,binary-search-tree,nodes,Java,Binary Search Tree,Nodes,各位,我已经实现了计算二叉树中节点总数的代码,该方法如下所示: public int countNodes(Node root){ int count = 0; if(root == null){ System.out.println("The tree is empty!"); return -1; } else{ count = 1;
节点总数的代码,该方法如下所示:
public int countNodes(Node root){
int count = 0;
if(root == null){
System.out.println("The tree is empty!");
return -1;
}
else{
count = 1;
Node current = root;
if(current.leftChild != null){
count += countNodes(current.leftChild);
}
else if(current.rightChild != null){
count += countNodes(current.rightChild);
}
}
System.out.print("The total number of nodes in the tree is ");
return count;
}
该方法的参数包含节点根
,但我的问题是,当我尝试从main
类运行该方法时,我应该传递什么作为参数??
我应该在这里的参数中添加什么
int countNodes=tree1.countNodes(“???????”)代码>
您可以使用树的根节点。根据您的示例,您可以从find()方法获得它
您还可以使用其他节点,如
int countNodes = tree1.countNodes(tree1.find(5));
class MainTester{
public static void main(String[] args){
Tree tree1 = new Tree();
tree1.insert(1);
tree1.insert(2);
tree1.insert(3);
tree1.insert(4);
tree1.insert(5);
tree1.insert(6);
tree1.insert(7);
tree1.insert(8);
tree1.insert(9);
tree1.insert(10);
int countNodes = tree1.countNodes("?????????????");
}
}
int countNodes = tree1.countNodes(tree1.find(1));
int countNodes = tree1.countNodes(tree1.find(5));