【发布时间】:2021-07-30 11:26:03
【问题描述】:
假设这是节点类。
class Node{
string name;
int key; // the value to determine where to go left or right
Node* lChild;
Node* rChild;
}
我知道如何递归查找。但是,您对如何迭代地找到两个节点之间的路径有什么建议吗?
vector<string> find_path(string a, string b){
vector<string> tmp;
Node* head_node = head;
return tmp;
}
【问题讨论】:
-
递归可以转化为迭代,如果你展示你的代码也许我们可以帮忙
-
@largest_prime_is_463035818,嗨,你想让我给你看哪一部分?它更像是如何在两个节点之间找到路径的想法。
-
“任何建议”太模糊了。你尝试了什么?你在哪里卡住了?如果你能想出一个递归方法,那就先写吧。
-
@largest_prime_is_463035818,我相信您可以在线阅读大部分递归内容。好的,我遇到的问题是我不确定如何迭代地打印从节点到 b 节点的路径,因为它是迭代过程。
-
您的
find_path有很多对未声明变量/属性的引用。此外,当您不是通过键搜索而是通过字符串搜索时,您拥有 BST 有什么相关性?关键信息似乎与这个问题无关,因此您是否拥有 BST 也无关紧要。
标签: c++ linked-list binary-search-tree