Stack的当前大小是多少?

时间:2015-05-19 09:10:56

标签: algorithm data-structures stack

假设最初为空的堆栈S执行了总共25次推送操作, 12个顶级操作和10个弹出操作,其中3个返回null表示一个 空筹码。 S的当前大小是多少?

我认为S.size = 7因为10个弹出操作中有3个返回null表示 空堆但不确定它是否正确

任何人都能给出正确答案和解释吗?

3 个答案:

答案 0 :(得分:5)

  • 自弹出3个弹出后,您弹出了10-3 = 7个元素的总数 没有改变堆栈的状态(和大小),所以只有7个pop ..
  • 你总共推了25个元素。
  • 顶级操作不会更改堆栈的状态(和大小),并且 可以忽略。

最后,堆栈的总大小为25-7 = 18

请注意,操作顺序无关紧要,只有"成功" pop() s,以及push() s的数量。

答案 1 :(得分:0)

25次推送= 25指数

10次爆发= 25 - 10 = 15

没有发生3次爆发= 15 + 3 = 18

顶部无所谓,所以它应该是18

答案 2 :(得分:0)

推送和流行数量之间的差异。