【问题标题】:Visualize Binary tree in bash terminal在 bash 终端中可视化二叉树
【发布时间】:2022-02-12 08:55:49
【问题描述】:

当我们学习二叉树时,我们首先尝试了解二叉树的结构。然后我们通常根据需要实现树。我们必须用笔和纸在手笔记中画出这棵树。

我们以数组[1,3,4,6,7,8,10,14] 为例。如果我们将数组构造成二叉树,那么结果是

  • 预购-> [7, 4, 3, 1, 6, 10, 8, 14]
  • 有序-> [1, 3, 4, 6, 7, 8, 10, 14]
  • PostOder-> [1, 3, 6, 4, 8, 14, 10, 7]

我的问题是,有任何方法或任何 python 包可以在 bash 终端中显示树,就像这样

     Preorder tree
         7
        /  \
       /    \
      4      10
     / \    /  \
    3   6  8    14
   /
  1

我关注了这个question。它画得像一棵家谱,但我期待上面提到的那棵树。

【问题讨论】:

    标签: python terminal tree visualization graph-visualization


    【解决方案1】:

    我只有built one:它肯定可以改进,但对于小树来说应该足够了。如果您发现任何错误,请告诉我。


    TreePrinter 类的文档字符串中有一个关于如何使用它的示例,但只是为了让您预览最终结果:

    您可以在您的问题中构建树(与我在tester.py 中输入的相同):

    from printer.tree_printer import Node, TreePrinter
    
    n1 = Node(1)
    n3 = Node(3, left=n1)
    n6 = Node(6)
    n8 = Node(8)
    n14 = Node(14)
    n4 = Node(4, left=n3, right=n6)
    n10 = Node(10, left=n8, right=n14)
    n7 = Node(7, left=n4, right=n10)
    

    并使用以下方式打印:

    tv = TreePrinter(n7)
    print(tv)
    

    输出是:

            7 
            /\
         ---  --- 
         |       |
        4       10
        /\      /\
       -  -    -  - 
       |   |   |   |
      3   6   8   14
      /             
     -            
     |
    1
    

    【讨论】:

      猜你喜欢
      • 2022-11-05
      • 1970-01-01
      • 2021-09-28
      • 1970-01-01
      • 2012-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多