我需要深度优先和广度优先遍历顺序的任意树的树遍历算法。棘手的部分是我需要能够从任意节点开始并继续直到遍历另一个特定节点。
现在,我可以使用任何普通算法并忽略遍历的节点,直到我到达开始节点并继续直到结束节点(我目前正在这样做),但这既丑陋又低效。
请有任何建议。
更新:我的每个节点都有一个与之关联的 id。在某些情况下,我有开始和结束节点引用作为开始。在其他情况下,我有两个 ID,我通过检查它们的 ID 来检查给定节点是开始节点还是结束节点。我使用深度优先遍历来查找起始节点。开始节点和结束节点都可以位于层次结构中的任何位置。我希望有人可以为我已经参考起始节点和结束节点的情况提出一个想法。BTW,树中的节点实际上是按照排序顺序排序的,一个节点的每个子节点从0开始,并且有一个根节点