dima_meln
@dima_meln
Студент, Java Junior

Как правильно вывести бинарное дерево?

Всем привет! Изучаю Java подошел к бинарным деревьям, читал статьи на Хабре и тд.. Все как бы понятно, но вот проблема, как вывести бинарное дерево т.е. у меня пустое дерево и как его заполнить если вводить с консоли и как вывести в ширину? Использовал примеры кода, вот пример ввода, но как правильно вывести в ширину, что бы получилось красивое дерево с выводом в консоль? Используя етот ввод и когда пытался вывести получалось как то что то не то.
public void add(T1 k, T2 v) {
        Node<T1, T2> x = root, y = null;
        while (x != null) {
            int cmp = k.compareTo(x.key);
            if (cmp == 0) {
                x.value = v;
                return;
            } else {
                y = x;
                if (cmp < 0) {
                    x = x.left;
                } else {
                    x = x.right;
                }
            }
        }
        Node<T1, T2> newNode = new Node<T1, T2>(k, v);
        if (y == null) {
            root = newNode;
        } else {
            if (k.compareTo(y.key) < 0) {
                y.left = newNode;
            } else {
                y.right = newNode;
            }
        }
    }
  • Вопрос задан
  • 411 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы