神必作业
这个分成五个一组就很神奇,盲猜是什么东西求极值求出来的,作业里又求分成七个,分三个的复杂度分析。
七个
- 分成⌊n/7⌋\lfloor n/7\rfloor⌊n/7⌋组,取每组中位数的中位数。那么中位数较小的组有⌊n/7⌋−12\frac{\lfloor n/7\rfloor-1}{2}2⌊n/7⌋−1组,至少有32(⌊n/7⌋−1)\frac{3}{2}(\lfloor n/7\rfloor-1)23(⌊n/7⌋−1)个数会小于枢轴量,再加上⌊n/7⌋−12\frac{\lfloor n/7\rfloor-1}{2}2⌊n/7⌋−1个中位数,那么左边有2(⌊n/7⌋−1)2(\lfloor n/7\rfloor-1)2(⌊n/7⌋−1)个数。
- T(n)=T(n/7)+T(5n/7)+O(n)T(n) = T(n/7)+T(5n/7) +O(n)T(n)=T(n/7)+T(5n/7)+O(n) 线性算法
三个
- 分成⌊n/3⌋\lfloor n/3\rfloor⌊n/3⌋组,取每组中位数的中位数。那么中位数较小的组有⌊n/3⌋−12\frac{\lfloor n/3\rfloor-1}{2}2⌊n/3⌋−1组,至少有12(⌊n/3⌋−1)\frac{1}{2}(\lfloor n/3\rfloor-1)21(⌊n/3⌋−1)个数会小于枢轴量,再加上⌊n/3⌋−12\frac{\lfloor n/3\rfloor-1}{2}2⌊n/3⌋−1个中位数,那么左边有(⌊n/3⌋−1)(\lfloor n/3\rfloor-1)(⌊n/3⌋−1)个数。
- T(n)=T(n/3)+T(2n/3)+O(n)T(n) = T(n/3)+T(2n/3) +O(n)T(n)=T(n/3)+T(2n/3)+O(n) 非线性算法
如何解递归式不知道咩
850

被折叠的 条评论
为什么被折叠?



