以目录列表格式打印BST

时间:2017-11-13 04:51:18

标签: java algorithm binary-search-tree

我已经在这个项目中打印Binary Search Tree这些格式(预购,有序,后订购,最后是目录列表格式) 我把它们全部正常工作,除了目录列表格式,我不知道如何以这种格式打印BST,请参阅我附上的图片。

如果有人可以提供帮助,我会非常感激..

这是我的打印方法

void preOrder(Node node)
 {
     if (node != null)
     {
         System.out.print(node.key + " ");
         preOrder(node.left);
         preOrder(node.right);
     }
 }`
 tree.preOrder(tree.root);

enter image description here

1 个答案:

答案 0 :(得分:0)

使用Level orer遍历。 Psuedo算法是这样的: 初始化一个空队列。

  

使用来自root的递归

     

在queue.print中插入节点值的第一个根节点

     

如果节点有任何左侧,则在队列

中插入左侧      

如果节点有任何权利,请在队列中右键插入

     

在检查两者时插入分隔符,例如'\ 0'。    再次检查队列是否为空

     

如果空停止递归

     

如果不再返回步骤1。

这就是你如何打印目录列表格式。

请点击此链接以进一步了解。 http://www.geeksforgeeks.org/level-order-tree-traversal/