drva 8
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scn = new Scanner(System.in);
int n = Integer.parseInt(scn.next());
int q = Integer.parseInt(scn.next());
BinarySearchTree<Integer> tree = new BinarySearchTree<>();
for(int i = 0; i<q+n; i++){
String command = scn.next();
if(command.equals("insert")){
int num = Integer.parseInt(scn.next());
tree.insert(num);
}
else if(command.equals("ask")){
int val = Integer.parseInt(scn.next());
System.out.println(biggerNodes(tree.getRoot(), val));
}
}
}
public static int biggerNodes(BNode<Integer> node, int val){
if(node == null) return 0;
if(node.info>val) return 1 + countNodes(node.right) + biggerNodes(node.left, val);
else return biggerNodes(node.right, val);
}
public static int countNodes(BNode<Integer> node){
if(node == null) return 0;
return 1 + countNodes(node.left) + countNodes(node.right);
}
}
Editor is loading...
Leave a Comment