网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

Java通过递归进行二叉树遍历的代码-创新互联

写代码过程中,将写代码过程重要的代码片段收藏起来,下面的代码是关于Java通过递归进行二叉树遍历的代码,应该是对各朋友有一些好处。

创新互联公司长期为上千余家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为清镇企业提供专业的做网站、成都网站设计清镇网站改版等技术服务。拥有10余年丰富建站经验和众多成功案例,为您定制开发。
package com.wzs;

public class TestBinaryTree {
    public static void main(String[] args) {
        Node g = new Node("G", null, null);
        Node e = new Node("E", null, null);
        Node f = new Node("F", null, null);
        Node d = new Node("D", null, g);
        Node b = new Node("B", d, e);
        Node c = new Node("C", null, f);
        Node a = new Node("A", b, c);

        System.out.println("生成的二叉树:");
        System.out.println("            A");
        System.out.println("            |     ");
        System.out.println("       |---------|");
        System.out.println("       B         C");
        System.out.println("       |         |");
        System.out.println("  |---------|     -----|");
        System.out.println("  D         E          F");
        System.out.println("  |");
        System.out.println("   ----|");
        System.out.println("       G");

        System.out.println("二叉树深度:" + BinaryTree.getDepth(a));

        System.out.print("前序遍历:");
        BinaryTree.priorderTraversal(a);
        System.out.println();

        System.out.print("中序遍历:");
        BinaryTree.inorderTraversal(a);
        System.out.println();

        System.out.print("后序遍历:");
        BinaryTree.postorderTraversal(a);
        System.out.println();
    }
}

class BinaryTree {
    static  void priorderTraversal(Node node) {
        if (node != null) {
            visitNode(node);
            priorderTraversal(node.getLeftChild());
            priorderTraversal(node.getRightChild());
        }
    }

    static  void inorderTraversal(Node node) {
        if (node != null) {
            inorderTraversal(node.getLeftChild());
            visitNode(node);
            inorderTraversal(node.getRightChild());
        }
    }

    static  void postorderTraversal(Node node) {
        if (node != null) {
            postorderTraversal(node.getLeftChild());
            postorderTraversal(node.getRightChild());
            visitNode(node);
        }
    }

    static  int getDepth(Node node) {
        if (node == null) {
            return 0;
        }
        int leftDepth = 0;
        int rightDepth = 0;
        leftDepth = getDepth(node.getLeftChild());
        rightDepth = getDepth(node.getRightChild());
        return (leftDepth > rightDepth ? leftDepth : rightDepth) + 1;
    }

    static  void visitNode(Node node) {
        System.out.print(node.getKey() + " ");
    }
}

class Node {
    private T key;
    private Node leftChild;
    private Node rightChild;

    public Node() {

    }

    public Node(T key, Node leftChild, Node rightChild) {
        super();
        this.key = key;
        this.leftChild = leftChild;
        this.rightChild = rightChild;
    }

    public T getKey() {
        return key;
    }

    public void setKey(T key) {
        this.key = key;
    }

    public Node getLeftChild() {
        return leftChild;
    }

    public void setLeftChild(Node leftChild) {
        this.leftChild = leftChild;
    }

    public Node getRightChild() {
        return rightChild;
    }

    public void setRightChild(Node rightChild) {
        this.rightChild = rightChild;
    }

}

输出结果:

生成的二叉树:  
            A  
            |       
       |---------|  
       B         C  
       |         |  
  |---------|     -----|  
  D         E          F  
  |  
   ----|  
       G  
二叉树深度:4  
前序遍历:A B D G E C F   
中序遍历:D G B E A C F   
后序遍历:G D E B F C A   

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享标题:Java通过递归进行二叉树遍历的代码-创新互联
本文链接:http://bjjierui.cn/article/ceospe.html

其他资讯