首页 > 试题广场 >

以下哪种操作更适合使用排序处理( )

[单选题]

以下哪种操作更适合使用排序处理(   )

  • 找最大,最小值
  • 找出现次数最多的值
  • 找中间值
  • 求算术平均值
只有排了序,只有取 中间下标那个数才是中间值,其余的选项不是必须排序。
中间值定义:
指将若干数值以递增(或递减)的次序依次排列时,
若数值的数目是奇数,中间的那个值;
若数值的数目是偶数,中间两个数值的平均值。
发表于 2017-08-22 00:15:16 回复(0)
找最大值最小值直接用一个max或者min记录结果,遍历一遍即可,不需要排序这么复杂;
找出现次数最多的数也只需要用map<int,int>,first为数组中的数,second为出现的次数,最后找出second最大的即可;
算数平均值更不用说了,直接计算就行
发表于 2017-08-15 12:45:20 回复(2)
A、最大值或最小值可以通过一次遍历得到。
B、可以参考计数排序的思路,用一个数组记录次数。只需一次遍历。
C、只有排序后中间下标的值才是中间值。
D、一次遍历就可以直接计算。
发表于 2018-12-26 17:13:12 回复(0)
给你一个百万级别的数据,选取最大值最小值必须排序,不然以后每次更改度需要遍历?同样考虑外排序b数据大到一定数量级 使用桶排序基数排序还是不使用排序哪个好心里没点数?垃圾题目 只考虑10个数字 遍历一边就可以了?生活只有10个整数?  屏蔽

编辑于 2018-01-06 14:46:57 回复(0)
学过冒泡都知道,one pass可以找到最小和最大值,但是中间值就不行了,最快的快速选择排序 最好时间复杂度为O(n)

发表于 2018-06-21 18:26:27 回复(0)
用bfprt也不用完全排序,大数量级你不用堆排序一类去找最大最小试试?
发表于 2018-05-31 18:27:22 回复(0)
C
发表于 2018-02-19 15:31:42 回复(0)
中间值需要所有数都排序出来,其他都不需要全部排序
发表于 2017-10-12 10:16:36 回复(0)
答案是c,1,2楼分析的对
发表于 2017-10-11 12:12:35 回复(0)
明显C
发表于 2017-09-18 23:02:51 回复(0)
A
发表于 2017-08-21 16:14:15 回复(0)
不太同意二楼,都用函数的话,这四个都不用排序。最合适的还是A
发表于 2017-08-21 12:35:18 回复(0)
A
发表于 2017-08-13 18:44:15 回复(0)