【发布时间】:2020-07-25 11:44:06
【问题描述】:
给定一个作为 int 向量的前序遍历(例如 {7,4,3,6,5,8,10}),我该如何列出 迭代每个节点的子节点?
Example output
7 - 4 8
4 - 3 6
6 - 5
8 - 10
我让它生成一棵树,然后递归地列出每个孩子,但我只需要使用给定的向量来完成它。有什么想法吗?
我不是要代码,只是一些很酷的想法
【问题讨论】:
-
注意右子大于父,左子小于
-
碰巧有一种相当简单的方法来做这种事情。只需拿出一张白纸,用简单的英语句子,一步一步地写下来。完成后,schedule an emergency appointment with your rubber duck。我们不会在这里为其他人编写整个程序,并且总是将此类问题提交给您的橡皮鸭。在您的橡皮鸭批准您提出的行动计划后,只需将您写下的内容直接翻译成 C++。任务完成!
-
使用
std::stack<int>,并使用一些操作堆栈的逻辑遍历列表。不需要递归。
标签: c++ loops binary-search-tree traversal preorder