Хорошо, это выглядит лучше, но дает исключение нулевого указателя?
публичная статическая BST idealTop (Comparable [] C) {
BST X = new BST();
helperIdeal(C, X.root,(C.length/2));
return X;
}
public static void helperIdeal(Comparable [] C, node R,int mid){
if(mid<0||mid>C.length-1){
R.left = null;
R.right = null;
}
else{
R.data = C[mid];
helperIdeal(C,R.left,mid/2);
helperIdeal(C,R.right,(mid*2)-1);
}
}