Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我搜索了互联网和“you tube”,但没有找到任何好的教程。如何在“后缀”中绘制给定表达式的相应“二叉树”?
这个表达式在中缀和前缀中的外观如何?
我不知道我应该如何一步一步地做到这一点:(
18 5 1 + / 4 * 3 5 18 6 / - + -
笔记:
绘制前序、后序和中序的规则是: 1. 前序遍历:根,左,右 2. 后序遍历:左,右,根 3. 中序遍历:左根, 正确的
请问我考试需要它
从左到右扫描表达式。当您找到一个数字时,构建一个(叶)节点,然后将其压入堆栈。当你找到一个操作符时,构建一个节点,从堆栈中弹出两个节点,将它们连接为当前节点的左右子节点,然后将节点压入堆栈并继续。在字符串的末尾,您必须只有堆栈中的根
当您拥有树时,查找前缀和中缀是微不足道的。
请注意,这是基于每个运算符取两个值的假设(可以很容易地适应一元运算符),即每个内部节点都有两个子节点。一般来说,不可能从后缀构建树(参见维基百科)。