0
我有一个通用的N元表达式树,我想将其转换为二叉树。有没有明确的算法来做同样的事情?将N元表达式树转换为二叉树
我尝试着将不同的算法转换成表达式树,像https://groups.google.com/forum/?fromgroups#!topic/wncc_iitb/RrgohUZ-uhw这样的表达式树,但是这样做不起作用,因为它们不担心优先级和所有。
谢谢。
我有一个通用的N元表达式树,我想将其转换为二叉树。有没有明确的算法来做同样的事情?将N元表达式树转换为二叉树
我尝试着将不同的算法转换成表达式树,像https://groups.google.com/forum/?fromgroups#!topic/wncc_iitb/RrgohUZ-uhw这样的表达式树,但是这样做不起作用,因为它们不担心优先级和所有。
谢谢。
简单的答案。
第1步:将具有不同优先级的N元表达式树转换为N元树,其中每个节点只有一个优先级。
第2步:将该树转换为二叉树。
如果你正在寻求一个简单的解决方案而不是一个有效的解决方案,可能很容易将每个节点分解为与优先级匹配的级别,然后在二叉树折叠出明显无用的节点之后。如果你想要一个更高效的解决方案,那么你会希望在最初的扩张时更谨慎。
您可以扩展您对二叉树的要求吗?任何具体的东西......或者是你的唯一要求,即一个节点的孩子,只不过是同一个节点的后代? – ChrisCM