LeetCode算法学习笔记 - Day6

Java简单实现二叉树

二叉树跟链表结构相似,但是是父子的结构而不是左右的结构,对于了解过链表知识的朋友应该不难理解二叉树
这篇文章主要写了二叉树的构建和前序,中序,后序遍历
本身我也是初学者,代码也是跟着网上的文章一点一点写出来的,这里放上我学习二叉树参考的文章
二叉树的增删改查基本学过链表的都不难理解,主要来看看三种遍历方式
三种遍历方式都是用递归写的,本身我也没有接触过递归,不过把树结构在图上画出来,脑子跟着递归走一遍就很容易懂了

public class Node {
    public int data;
    public Node left;
    public Node right;

    public Node(){

    }

    public Node(int i){
        this.data = i;
    }
}

这是二叉树的结点构造,跟链表也没什么差别
	/**
     * 前序遍历
     * @param node
     */
    public void PreOrder(Node node){
        if(node != null){
            System.out.println(node.data); //先访问根节点
            PreOrder(node.left);  //先根遍历左子树
            PreOrder(node.right);  //先根遍历右子树
        }
    }
    /**
     * 中序遍历
     * @param root
     */
    public void traverseInOrder(Node node) {
        if (node!= null) {
            traverseInOrder(node.left);
            System.out.println(node.data);
            traverseInOrder(node.right);
        }
    }
    /**
     * 后序排序
     * @param node
     */
    public void PostOrder(Node node){
        if(node != null){
            PostOrder(node.left);  //后根遍历左子树
            PostOrder(node.right);  //后根遍历右子树
            System.out.println(node.data);   //访问根节点
        }
    }

代码都是抄上面文章里的,自己多想想递归过程也就懂了
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值