按顺序读取平衡二叉树

时间:2011-03-27 03:58:48

标签: binary-tree

我正在为我的数据结构类开发一个项目,它希望我读取一个文本文件并将每一行放在一个平衡的二叉树上。我的理解是这个结构如下所示:

  

1
  / \
  2 3
  / \ / \
  4 5 6 7

1代表第一行,2代表第二行,等等。

如果我想按顺序阅读,我该怎么做? 我怎么看,如果我使用顺序(节点,左,右)我会得到1,2,4,5,3,6,7

唯一的方法是分配一个整数以及表示它是哪一行的每个字符串,然后将树排序为:

  

4
  / \
  2 6
  / \ / \
  1 3 5 7

2 个答案:

答案 0 :(得分:0)

根据我的理解,您希望尝试广度优先搜索以按顺序读取树。

http://en.wikipedia.org/wiki/Breadth-first_traversal

该wiki解释了实现水平顺序遍历的好方法。希望有所帮助。

答案 1 :(得分:0)

您可以使用两个队列来打印树级别,其中每个级别以不同的行打印