码迷,mamicode.com
首页 > 其他好文 > 详细

找出最大值和最小值的时间复杂度比较小的一种方法

时间:2015-04-16 12:28:39      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:算法   最大值最小值   

       一般认为,对于给定的n个数,只要独立地找出最小值和最大值,各用n-1次比较,最多2(n-1)次就可以找出最大值和最小值。

       实际上,至多3(n/2)次比较就足以同时找到最大值和最小值,具体做法是:成对的处理元素,先将一对元素互相比较,然后将最小者与当前最小值比较,将较大者与当前最大值比较,因此每两个元素需要3次比较。这里要注意n的奇偶,当n是奇数,就将最小值和最大值都设置为第一个元素,然后成对的处理剩下的元素;如果n是偶数,就对前两个元素做一次比较,以决定最大值和最小值,然后成对地处理余下的元素。

找出最大值和最小值的时间复杂度比较小的一种方法

标签:算法   最大值最小值   

原文地址:http://blog.csdn.net/xumesang/article/details/45072281

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!