Binary trees facilitate high-speed searching and sorting of data, eliminating duplicate data items efficiently, representing file-system directories, compiling expressions into machine language and many other interesting applications.
这是来自《Java 如何编程》第 9 版。
我只是不明白二叉树如何促进将表达式编译为机器语言?
最佳答案
总结/重述评论:
二叉树“促进”编译表达式,就像砖 block “促进”房屋 build 一样。您可以使用砖 block build 房屋,因此它们“促进” build 房屋。
这段文字大部分内容都是免费的。我猜它是介绍性段落的一部分,旨在激发您对涉及二叉树1的示例的兴趣,该示例将在大约一个段落中出现。
如果没有读过这本书……(我预测)他将要描述的那种同构二叉树并不真正适合在编译器中表示表达式。抽象语法树 (AST) 通常既不是二元的也不是同类的。相反,很可能有很多不同的节点类型,并且不同的节点类型具有不同数量和类型的子节点。
从这段文字中无法学到任何有用的东西。向前走。这里什么也没发生。 :-)
1 - 但不要指望编译器的详细解释。这远远超出了编程入门教科书的范围。事实上,我什至不期望对“数据结构”有一个像样的覆盖。
关于java - 二叉树如何促进将表达式编译为机器语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17487693/