当前位置:   article > 正文

编程之美_2.10_寻找数组中的最大值和最小值

编程之美_2.10_寻找数组中的最大值和最小值

问题描述:给出一个数组,包含N个整数,那么需要比较多少次找到最大值和最小值

注意:要想得到最大值和最小值,遍历一遍数组是不可避免的。我们能减少的就是减少比较次数来提高效率

方法一、遍历一遍数组,同时得到最大值和最小值

具体是,定义一个max 和 min,每遍历一个数,就分别和max 和 min比较一次,直到处理完所有的数据

比较次数: N+N = 2N

方法二、我们可以把数组中的数据两两分组,分组内找出最大值 和 最小值,之后在最大值的那部分找出最大值,在最小值那部分找出最小值

比较次数:

两两比较,较小值放到左边,较大放右边,这时比较N/2次

之后,得到的最大值部分是 N/2个数,最小值部分是N/2个数

之后在 最大值部分 取出最大值。比较次数N/2

<
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/598771
推荐阅读
相关标签
  

闽ICP备14008679号