算法导论 练习题 17.2-3

来源:互联网 发布:阿铭linux 视频 云盘 编辑:程序博客网 时间:2024/06/06 03:34

按照提示,维护一个指针一直指向最高为的1

只有i=2k时,increament才会进一位,其中k>=1 and k<=lgn

假设进行了m次increament操作后,进行reset操作

则increament需要O(m)时间,reset需要1+2+3+...+lgm=O(lgm)时间

所以设ki次increament操作后,进行reset操作

其中k1+k2+k3+...=n

则需要O(k1)+O(lgk1)+O(k2)+O(lgk2)...<O(n)+O(n)=O(n)