【问题标题】:find path in binary unsorted tree在二叉未排序树中查找路径
【发布时间】:2012-12-09 11:51:37
【问题描述】:

我需要帮助查找从根到未排序二叉树中节点的路径。我正在尝试预先遍历并推送堆栈中的节点,但我总是得到比实际路径更多的节点。

【问题讨论】:

  • 这听起来像是一个实现错误,所以您能发布一些代码吗?
  • 您的意思是找到“最短”路径吗?也许编辑你的标题。
  • 树不会将节点“推”入“堆栈”;它插入它们。它似乎是实现而不是设计;你能分享一些代码吗?

标签: tree binary-tree


【解决方案1】:

这样做的一个好方法是在每个节点中保留一个父节点的引用,然后如果您可以访问节点构建路径很容易,只需要遍历所有父节点并构建路径。如果您无法访问该节点并且您唯一拥有的是树根,那么您需要在所有可能的子树中搜索,这是因为树是未排序的。然后,您可以对 DFS(深度优先搜索)使用 pre-order、post-order、in-order 或使用队列实现一些 BFS(广度优先搜索)。

希望对你有所帮助...

【讨论】:

  • 我的想法是使用 dfs 搜索之一找到从根到根的路径。但是,如果节点在根的右子树中,则每次我使用其中一个遍历时,路径首先在根的左子树中找到那些,而不是在右侧,因此路径出现错误。顺便说一句,我只能访问根目录。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多