清华大学数据结构学习小结 第一章
文章目录
1.Max2二分递归的最差情况
-
如下图所示,最差的情况计算为,进一步计算,最好的情况应该是。
- 我个人理解的计算过程如下:- 两边加2,凑成等比数列;
- 最差的情况是,每个递归基均是3个元素,且每次均需要比较3次,即;
- 根据结果反推,可知:
其中,系数我个人是这样理解的:
假设,这里的为一共向下递归了层。根据2所述,最差的情况均用到了这个递归基,可以理解为递归至最底层时每组的元素必定是3个,将递归过程理解为一棵满二叉树,如下图,其中假设的层数H就是这个系数,因此:
想通了这一点,剩下的就是做代数运算了,
- 两边加2,凑成等比数列;
-
对于最好的情况,每组递归基都是使用,这样上述的变为。(此时递归到最底部每个分组中的元素个数为2,因此总组数应为)