将二进制搜索树节点存储到图形顶点的最佳方法。

问题描述 投票:-1回答:1

在二元搜索树中访问每个节点,然后将每个节点存储成图中的顶点,什么是最好的方法?

java algorithm data-structures graph binary-search-tree
1个回答
0
投票

你可以在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());
                }
            }
        }
© www.soinside.com 2019 - 2024. All rights reserved.