我正在为我的数据结构类开发一个项目,它希望我读取一个文本文件并将每一行放在一个平衡的二叉树上。我的理解是这个结构如下所示:
1
/ \
2 3
/ \ / \
4 5 6 7
1代表第一行,2代表第二行,等等。
如果我想按顺序阅读,我该怎么做? 我怎么看,如果我使用顺序(节点,左,右)我会得到1,2,4,5,3,6,7
唯一的方法是分配一个整数以及表示它是哪一行的每个字符串,然后将树排序为:
4
/ \
2 6
/ \ / \
1 3 5 7
答案 0 :(得分:0)
根据我的理解,您希望尝试广度优先搜索以按顺序读取树。
http://en.wikipedia.org/wiki/Breadth-first_traversal
该wiki解释了实现水平顺序遍历的好方法。希望有所帮助。
答案 1 :(得分:0)
您可以使用两个队列来打印树级别,其中每个级别以不同的行打印