Я работаю с текстовыми файлами, которые имеют длинные списки слов и вставляют их в двоичное дерево. Один текстовый файл, который у меня есть, - это список несортированных слов, и он отлично вписывается в BST. Но тот же список слов в отсортированной форме дает мне проблемы. Я продолжаю получать StackOverflowError из моей функции вставки.Устранение неполадок в BST в Java
private TreeNode insert(TreeNode iter, String item) {
if (iter == null) {
iter = new TreeNode(item);
} else {
if (item.compareTo(iter.item) < 0) {
iter.left = insert(iter.left, item);
} else {
iter.right = insert(iter.right, item);
}
}
return(iter);
}
Моя теория заключается в том, что, поскольку она в порядке, она будет только вставлять вправо, заставляя ее как-то переполняться. Если у кого-нибудь есть идеи, как это исправить, было бы замечательно!