Talk:Binary expression tree
![]() | Computer science Start‑class Low‑importance | ||||||||||||||||
|
about the article
I am not sure whether 'construction of an expression tree' should be a subheading to Overview. PratikNadagouda (talk) 17:51, 12 September 2011 (UTC)
Example
The input is: a b + c d e + * *
Since the first two symbols are operands, one-node trees are created and pointers are pushed to them onto a stack. For convenience the stack will grow from left to right.
The next symbol is a '+'. It pops the two pointers to the trees, a new tree is formed, and a pointer to it is pushed onto to the stack.
Next, c, d, and e are read. A one-node tree is created for each and a pointer to the corresponding tree is pushed onto the stack.
Continuing, a '+' is read, and it merges the last two trees.
Now, a '*' is read. The last two tree pointers are popped and a new tree is formed with a '*' as the root.
Finally, the last symbol is read. The two trees are merged and a pointer to the final tree remains on the stack.[1] PratikNadagouda (talk) 18:10, 14 September 2011 (UTC)