[算法导论]同时求数组的最大值和最小值

同时寻找数组的最大者与最小者,我们最多只需要3\lfloor\frac{n}{2}\rfloor次比较。具体做法是记录目前已知的最大者与最小者,但我们并不是将每一个输入元素与当前的最大者与最小者比较----这样的代价就是每一个元素都需要2次比较,而是对输入元素成对地进行处理。首先,我们将一对输入元素相互比较,然后把较小的与当前最小者比较,把较大者与当前最大者比较,这样,对每对两个元素共需要3次比较。

猜你喜欢

转载自blog.csdn.net/justisme/article/details/86097834
今日推荐