[算法练习] 二叉搜索树中序遍历
2020-05-02 本文已影响0人
afluy
private List<Integer> list = new ArrayList();
@Test
public void test() {
// 构造二叉搜索树(BST)
Node rootNode = new Node(4);
Node twoNode = new Node(2);
Node oneNode = new Node(1);
Node threeNode = new Node(3);
Node sixNode = new Node(6);
rootNode.left = twoNode;
rootNode.right = sixNode;
twoNode.left = oneNode;
twoNode.right = threeNode;
visit(rootNode);
System.out.println(list);
}
// 中序遍历(从小到大)
public void visit(Node node) {
if (node == null) {
return;
}
visit(node.left);
list.add(node.value);
visit(node.right);
}
// 前序遍历
public void visit(Node node) {
if (node == null) {
return;
}
list.add(node.value);
visit(node.left);
visit(node.right);
}
// 后序遍历
public void visit(Node node) {
if (node == null) {
return;
}
visit(node.left);
visit(node.right);
list.add(node.value);
}