(为避免冗长的解释,我要寻找的只是java中的泛型树(n元树)的级别顺序遍历。提供的代码有效并且需要级别顺序显示功能。一个小时,但找不到对通用n元树的引用。如果soemone可以帮助我在代码之上构建LevelOrderDisplay函数,将不胜感激,因为它可以帮助我了解所收到的队列错误。谢谢!)
我一直在尝试在工作中实现Autosys作业时间表的树形表示。由于每个作业(流程)可以具有一个或多个相关的作业,因此我决定采用n元树实现,以便可以映射流程。我使用相同的Java集合。我需要执行级别顺序遍历以显示作业依赖性。首先是“打印根”,然后是第一级的所有节点,然后是第二级的所有节点,依此类推。
我试图在StackOverflow上搜索一个多小时,但遇到的大多数示例都是针对Binary Trees的。我确实知道我需要为此使用队列。
根据我在研究过程中得到的结果,该算法应如下所示:如果这是错误的,请更正我,如果可能,请为此提供代码。也欢迎使用其他方法,但是我真正想要的是对通用树进行简单的基本级顺序遍历。
让我们将其作为通用树实现的有用线程。大多数代码已经在工作。请帮忙。
Algo:
对于每个节点,首先访问该节点,然后将其子节点放入FIFO队列中。
printLevelorder(tree)
1) Create an empty queue q
2) temp_node = root /*start from root*/
3) Loop while temp_node is not NULL
a) print temp_node->data.
b) Enqueue temp_node’s children (first