请考虑以下语句。
- S1:过程调用的顺序对应于激活树的预遍历。
- S2:过程返回的顺序与激活树的后遍历相对应。
以下哪个选项是正确的?
(A) S1为真,S2为假
(B) S1为假而S2为真
(C) S1为真,S2为真
(D) S1为假而S2为假答案: (C)
说明:激活树和程序行为之间的几种有用关系启用了运行时堆栈:
- 过程调用的顺序对应于激活树的预遍历。
- 返回序列与激活树的后遍历相对应。
- 从根到节点N的路径显示了在执行N时处于活动状态的激活。
- 过程调用和返回由控制堆栈(即运行时堆栈)管理。
在每个过程调用中,该过程的激活记录都被压入堆栈。调用返回时,将从堆栈中弹出该激活记录。
这些激活的调用顺序是它们从根开始沿N路径出现的顺序,并且将以相反的顺序返回。
这个问题的测验