Вы можете посетить слева направо в BST используя Очередь
private void visit(BSTNode root, Integer from, Integer till) {
Queue<BSTNode> queue = new ArrayDeque<>();
queue.add(root);
Graph<Integer> graph = new Graph<>();
while (!queue.isEmpty()) {
BSTNode node = queue.poll();
if (node.getLeft() != null) {
graph.addEdge(node, node.getLeft());
queue.add(node.getLeft());
}
if (node.getRight() != null) {
graph.addEdge(node, node.getRight());
queue.add(node.getRight());
}
}
}