使用堆栈从后置订单构造二叉树

时间:2019-03-03 21:30:55

标签: c stack binary-tree nodes

是否可以构造一个完整的二叉树(一个二叉树,其中每个非叶节点都有两个子节点),考虑到后序遍历并知道哪些节点是叶节点或非叶节点?我以为可以使用堆栈来完成此操作(在遇到非叶节点时将每个叶节点推送并弹出),但是我不确定如何实现此目的。给出的数据如下:

2(1.000000e+00)
3(1.000000e+00)
(1.000000e+00 1.000000e+00)
1(1.000000e+00)
(1.000000e+00 2.000000e+00)

其中%d(%le)"形式的行是叶子节点,(%le %le)是非叶子节点。我知道如何判断该行是对应于叶节点还是非叶节点,但仅凭此信息,我不知道如何构建树。有什么想法吗?

我专门寻求使用堆栈来解决此问题,而不是尝试其他方式解决我以前发布的解决方案。

0 个答案:

没有答案