
数据结构
海平面远方开始阴霾
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
(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 · 426 阅读 · 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 · 851 阅读 · 0 评论 -
计算代码时间复杂度方法
算法评价: 时间复杂度和空间复杂度 时间复杂度:所有语句执行的次数和T(n)。 一般不同的输入会有不同的时间复杂度。 计算方法:先找到循环变量i 例如 for(i=1;i<n;i=i*2) std::cout<<i<<std::endl; i<=ni<=ni<=n i=i∗2i=i*2i=i∗2 假设执行了t次,i=2ti=2^{t}i...原创 2019-09-27 23:46:26 · 4000 阅读 · 0 评论