设 S 是一个大小为 n >= 1 的堆栈。从空堆栈开始,假设我们按顺序压入前 n 个自然数,然后执行 n 个弹出操作。假设 Push 和 Pop 操作各需要 X 秒,并且在一个这样的堆栈操作结束和下一个操作开始之间经过 Y 秒。对于 m >= 1,将 m 的堆栈寿命定义为从 Push(m) 结束到从 S 中删除 m 的弹出操作开始所经过的时间。此堆栈中元素的平均堆栈寿命为
(A) n(X+ Y)
(B) 3Y + 2X
(C) n(X + Y)-X
(D) Y + 2X答案: (C)
说明:我们可以通过几个例子很容易地得出结果。
这个问题的测验