二叉搜索树06-第六天

1.一些树的动画演示网站

http://520it.com/binarytrees/

http://btv.melezinek.cz/binary-search-tree.html

https://www.cs.usfca.edu/~galles/visualization/Algorithms.html

https://yangez.github.io/btree-js/

https://www.codelike.in/

 

2.二叉树的遍历

二叉搜索树06-第六天_第1张图片

 

 

 2.1前序遍历

二叉搜索树06-第六天_第2张图片

 

2.2前序非递归遍历

 

 二叉搜索树06-第六天_第3张图片

 

 

 二叉搜索树06-第六天_第4张图片 

2.3中序遍历

二叉搜索树06-第六天_第5张图片

 

 

 二叉搜索树06-第六天_第6张图片

 

 

 2.5后序遍历

二叉搜索树06-第六天_第7张图片

 

 

 二叉搜索树06-第六天_第8张图片

 

 

 2.6层次遍历

二叉搜索树06-第六天_第9张图片

 

 

 

 3.相关代码总结

3.1前序遍历

//    /**
//     * 前序遍历
//     */
    public void preorderTraversal() {
        preorderTraversal(root);
    }
    
    private void preorderTraversal(Node node) {
        if (node == null) return;
        
        System.out.println(node.element);
        preorderTraversal(node.left);
        preorderTraversal(node.right);
    }
View Code

3.2中序遍历

//    /**
//     * 中序遍历
//     */
    public void inorderTraversal() {
        inorderTraversal(root);
    }
    
    private void inorderTraversal(Node node) {
        if (node == null) return;
        
        inorderTraversal(node.left);
        System.out.println(node.element);
        inorderTraversal(node.right);
    }
View Code

3.3后序遍历

//    /**
//     * 后序遍历
//     */
    public void postorderTraversal() {
        postorderTraversal(root);
    }
    
    private void postorderTraversal(Node node) {
        if (node == null) return;

        postorderTraversal(node.left);
        postorderTraversal(node.right);
        System.out.println(node.element);
    }
View Code

3.4层序遍历

//    /**
//     * 层序遍历
//     */
    public void levelOrderTraversal() {
        if (root == null) return;
        
        Queue> queue = new LinkedList<>();
        queue.offer(root);
        
        while (!queue.isEmpty()) {
            Node node = queue.poll();
            System.out.println(node.element);
            
            if (node.left != null) {
                queue.offer(node.left);
            }
            
            if (node.right != null) {
                queue.offer(node.right);
            }
        }
    }
View Code

 

你可能感兴趣的:(二叉搜索树06-第六天)