数据结构
海平面远方开始阴霾
这个作者很懒,什么都没留下…
展开
-
(right+left)/2和left+(right-left)/2在int截断条件下是等价的证明
(int)(right+left)/2={(right+left)/2,if(right+left)is even(right+left)/2−1/2,if(right+left)is odd(int)(right+left)/2=\begin{cases}(right+left)/2,& \text{if}\quad (right+left) \quad \text{is even}\\(right+left)/2-1/2,& \text{if} \quad (原创 2021-03-29 15:38:20 · 346 阅读 · 0 评论 -
二分法中计算(left+right)/2和(left+right+1)/2的index区别的根源
注意(left+right)/2,(left+right+1)/2,当left+right为偶数时,在int的取整下,+1实际上是对整数+1/2,对结果无影响,而当left+right为奇数时,+1所造成的1/2会与奇数中原本被取整丢掉的1/2合并,使得与原结果相比+1...原创 2021-03-29 14:47:40 · 734 阅读 · 0 评论 -
计算代码时间复杂度方法
算法评价:时间复杂度和空间复杂度时间复杂度:所有语句执行的次数和T(n)。一般不同的输入会有不同的时间复杂度。计算方法:先找到循环变量i例如for(i=1;i<n;i=i*2) std::cout<<i<<std::endl;i<=ni<=ni<=ni=i∗2i=i*2i=i∗2假设执行了t次,i=2ti=2^{t}i...原创 2019-09-27 23:46:26 · 3852 阅读 · 0 评论