【发布时间】:2014-08-19 08:06:52
【问题描述】:
问题:
令 S 为大小为 n >= 1 的堆栈。从空堆栈开始,假设我们按顺序压入前 n 个自然数,然后执行 n 个弹出操作。
假设 Push 和 Pop 操作各花费 X 秒,并且从一个此类堆栈操作结束到下一个操作开始之间经过 Y 秒。
对于 m >= 1,将 m 的堆栈寿命定义为从 Push(m) 结束到从 S 中删除 m 的 pop 操作开始所经过的时间。这个堆栈是
(A) n(X+ Y)
(B) 3Y + 2X
(C) n(X + Y)-X
(D) Y + 2X
问题来自Link
我的方法:
For n elements Push takes X time, hence for m elements Push takes m/n*X
For n elements Pop takes X time, hence for m elements Push takes m/n*X
Interval Time is m/n*Y
Stack Life = End of Push(m) to start of Pop(m) = Interval Time = m/n*Y
Average Stack Life = (m/n*Y) / m = Y/n
没有一个答案是匹配的。 请指导我实现目标的正确方法。
【问题讨论】:
-
请在帖子中说明您的问题。
标签: data-structures stack