我已经在这个项目中打印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);
答案 0 :(得分:0)
使用Level orer遍历。 Psuedo算法是这样的: 初始化一个空队列。
使用来自root的递归
在queue.print中插入节点值的第一个根节点
如果节点有任何左侧,则在队列
中插入左侧如果节点有任何权利,请在队列中右键插入
在检查两者时插入分隔符,例如'\ 0'。 再次检查队列是否为空
如果空停止递归
如果不再返回步骤1。
这就是你如何打印目录列表格式。
请点击此链接以进一步了解。 http://www.geeksforgeeks.org/level-order-tree-traversal/