Поэтому я уверен, что это очень просто, и я просто упускаю его, но мне нужно сделать несортированный массив для BST. У меня есть массив int [] data = {50, 30, 60, 10, 80, 55, 40}; и мне нужно преобразовать его в несбалансированный BST с первым числом в качестве корня, независимо от того, на что я его изменяю, а остальные числа следуют правилам левого и правого. У меня есть этот код, который работает для этого массива, но не в том случае, если я изменил число на что-то не посередине.
public Node arraytoBinary(int [] array, int start, int end) {
if (start > end){
return null;
}
int mid = (start + end) / 2;
Node node = new Node(array[mid]);
node.left = arraytoBinary(array, start, mid - 1);
node.right = arraytoBinary(array, mid + 1, end);
return node;
}