题目描述:
用有向无环图描述表达式(A+B)*((A+B)/A)
,至少需要顶点的数目为几个?
分析:
- 先画出算术表达式
(A+B)*((A+B)/A)
的二叉树表示
- (A+B)*((A+B)/A) 有重复的子表达式 (A+B),二叉树中可实现对子表达式的共享
所以:
相同的叶子节点可以共用:
所以至少需要五个顶点:*
,+
,/
,A
,B
各一个。
题目描述:
用有向无环图描述表达式(A+B)*((A+B)/A)
,至少需要顶点的数目为几个?
分析:
(A+B)*((A+B)/A)
的二叉树表示*
,+
, /
, A
,B
各一个。