Лучший способ сохранить бинарный узел дерева поиска в вершине графа - PullRequest
0 голосов
/ 02 мая 2020

Каков наилучший способ посетить каждый узел в бинарном дереве поиска, а затем сохранить каждый узел в вершинах графа?

1 Ответ

0 голосов
/ 02 мая 2020

Вы можете посетить слева направо в 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());
                }
            }
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...