Я совершенно новичок в BST и в том, как они работают, если это совершенно неправильно, было бы признательно, если бы я мог получить ссылку на справочный сайт или что-то в этом роде. прямо сейчас я пишу программу для добавления значений из ArrayList
из String
s в BST, и я получаю такие ошибки, как метод compareTo(Node)
не определен для типа ArrayList<String>
. Я думал, что при наличии extends Comparable
будет учитываться сравнение значений ArrayList
, но я не использую E
. Также мне пришлось добавить приведение к s, чтобы установить его как корень, но мне кажется, что есть более простой способ. Я не знаю, смогу ли я добавить значения ArrayList
так, как я это делаю, это просто то, как это выглядит в книге, которую я использую для справки. Это мой код, любая помощь будет оценена по достоинству, я уже пробовал искать вещи в Java API, и это не помогло:
public class BinarySearchTree<E extends Comparable<? super E>>
{
public void add(ArrayList<String> s, Node n) {
if (n == null)
n = (Node) s;
else if (s.compareTo(n) < 0)
add(s, n.leftChild);
else
add(s, n.rightChild);
}
}