作者:
LPH66 (-6.2598534e+18f)
2021-05-21 02:39:00第一题是在问 Amortized 的概念, 它并不单看单一存取的时间而是将许多次同样操作所需要的时间进行平均Amortized (均摊) 常数时间代表, 虽然有可能单一操作会花稍微多一点, 但其他时候的状况的时间都很短当考虑进各种状况的比例及所需操作平摊之后平均每个操作的时间仍然是常数, 那就说这是个均摊常数时间
作者:
LPH66 (-6.2598534e+18f)
2021-05-21 02:45:00第二题, 最简单的做法是右→左→左→左→…到底但这个方法在往上时要知道从哪里来的, 所以也有另外维护下一个元素所在指标的方式 (这可以在树有调整时一起调整)补充一点均摊分析的东西, 这种分析一般其实并不会真的去求各种状况的比例, 而是实际去看全部跑下来会有哪些操作常用技巧是利用某个虚拟 token 摆在结构中表示未来可能操作接着去证明每个地方只要某个数量的 token 的数目这样就代表不管状况怎样, 总操作数目不会超过一个已知数量从这个已知数量即可推得均摊的时间复杂度