美文网首页
2.直观打印二叉树

2.直观打印二叉树

作者: 山行牧野 | 来源:发表于2019-07-22 15:22 被阅读0次

首先,Node.java文件同上
然后打印:


public class printTree {

    public String getSpace(int num)
    {
        String space = " ";
        StringBuffer buf = new StringBuffer("");
        for(int i=0;i<num;i++)
        {
            buf.append(space);
        }
        return buf.toString();
    }
    
    public void printBinaryTree(Node head)
    {
        System.out.println("BinaryTree:");
        printInOrder(head,0,"H",17);
        System.out.println();
    }
    
    public void printInOrder(Node head,int height,String to,int len)
    {
        if(head == null)
        {
            return;
        }
        printInOrder(head.left, height+1, "v", len);
        
        String val = to+head.value+to;
        int lenV = val.length();
        int lenL = (len - lenV)/2;
        int lenR = len - lenL - lenV;
        val = getSpace(lenL)+val+getSpace(lenR);
        System.out.println(getSpace(height*len)+val);
        
        printInOrder(head.right,height+1,"^",len);
    }
}

相关文章

  • 2.直观打印二叉树

    首先,Node.java文件同上然后打印:

  • 二叉树前序、中序、后序遍历,和直观打印。

    用如下的完全二叉树结构来做试验: 打印:0137849256很不直观有木有,于是写一个较为直观的方法: 打印:0-...

  • JZ-022-从上往下打印二叉树

    从上往下打印二叉树 题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印。题目链接: 从上往下打印二叉树...

  • 二叉树的遍历

    从上往下打印二叉树 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 按之字形顺序打印二叉树 请实现一个函数...

  • [剑指offer]刷题笔记

    按之字顺序打印二叉树 把二叉树打印成多行 按之字顺序打印二叉树【树】【常考!!!】 题目描述:请实现一个函数按照之...

  • 3.有关二叉树的算法

    1.分层遍历二叉树:宽度优先遍历 2.分层遍历应用,按层打印二叉树 3.前序遍历二叉树 4.前序遍历,迭代 5.中...

  • 算法(3)层次顺序遍历二叉树

    问题:按照层次顺序遍历二叉树,每层换行打印 1、普通的按层打印二叉树只需要使用队列就可以了2、按层打印二叉树,需要...

  • 算法与数据结构

    二叉树 1. 二叉树打印练习题 有一棵二叉树,请设计一个算法,按照层次打印这棵二叉树。给定二叉树的根结点root,...

  • 23 从上到下遍历二叉树 树的层次遍历

    从上往下打印二叉树 题目描述: 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 解题思路: 经典题目,树的...

  • 剑指offer(Java版)day05:从上往下打印二叉树|二叉

    1从上往下打印二叉树 【题目】从上往下打印出二叉树的每个节点,同层节点从左至右打印。 【考察点】举例让抽象具体...

网友评论

      本文标题:2.直观打印二叉树

      本文链接:https://www.haomeiwen.com/subject/dvrwlctx.html