共 1 道相关题目 查看全部解析
用有向无环图描述表达式 (x+y)*((x+y)/x),需要的顶点个数至少是( )。
图表示树
A. 5 B. 6 C. 8 D. 9
[tag_link]
正确答案:A
把相同的变量和公共子表达式只存一次:叶结点 x、y 各 1 个,x+y 共用 1 个加法结点,再加除法结点和最外层乘法结点,共 2+1+1+1=5 个顶点。不能把两处 x+y 分别建树,也不能把两处 x 分开存储,因此最少为 5,选 A。对应 DAG 如下:
x
y
x+y
2+1+1+1=5