归纳法之找max&min

来源:互联网 发布:金杜律师事务所 知乎 编辑:程序博客网 时间:2024/05/21 06:38

归纳:若已知P(n-1)n-1个数的maxmin),当n时,X[n]需要与maxmin分别比较,才可以获得这个序列的maxmin.

T(n) = T(n-1) + 2T(1) = 1, T(2) = 1

ð      T(n) = 2n-3

但是,如果直接用比较法去寻找,找到max需要n-1次,找到min需要n-2次,总共2n-3

所以用这样的归纳并没有加速。

进一步考虑,把每次处理的数据增多一点,每次处理2个数。

则,若已知P(n),先比较X[n]X[n+1],较大者与max比,较小者与min比,总共三次比较。

于是T(n+2) = T(n) + 3。分别对n odd/even进行讨论即可获得时间,约为3n/2。快了一些。