命题。在 Stack 的大小调整数组实现中,从空数据结构开始的任何操作序列的平均数组访问次数在最坏的情况下是恒定的。
证明草图:对于导致数组增长的每个 push()(例如从大小 N 到大小 2N),考虑N/2 - 1
最近导致堆栈大小增长到 k 的 push() 操作,对于 k 从N/2 + 2 to N
. 平均 4N 次数组访问以通过 N/2 次数组访问(每次推送一次)来增长数组,我们得到每个操作的平均 9 次数组访问成本。证明任何 M 操作序列使用的数组访问次数与 M 成正比更加复杂。(算法第 4 版第 1.4 章)
我不完全理解证明草图。请帮助我理解这一点。