首页 > 其他 > 详细

二叉搜索树06-第六天

时间:2020-02-10 20:29:56      阅读:112      评论:0      收藏:0      [点我收藏+]

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.二叉树的遍历

技术分享图片

 

 

 2.1前序遍历

技术分享图片

 

2.2前序非递归遍历

 

 技术分享图片

 

 

 技术分享图片 

2.3中序遍历

技术分享图片

 

 

 技术分享图片

 

 

 2.5后序遍历

技术分享图片

 

 

 技术分享图片

 

 

 2.6层次遍历

技术分享图片

 

 

 

 3.相关代码总结

3.1前序遍历

技术分享图片
//    /**
//     * 前序遍历
//     */
    public void preorderTraversal() {
        preorderTraversal(root);
    }
    
    private void preorderTraversal(Node<E> 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<E> 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<E> 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<Node<E>> queue = new LinkedList<>();
        queue.offer(root);
        
        while (!queue.isEmpty()) {
            Node<E> 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-第六天

原文:https://www.cnblogs.com/ggnbnb/p/12292323.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!