我有到求中位数的题,帮我解决如果在许多【比如100个等】大小不一的数中,怎么快速的求中位数,

soho8xx9 1年前 已收到3个回答 举报

XUELIN188 幼苗

共回答了20个问题采纳率:95% 举报

把一组数据按从小到大的数序排列,在中间的一个数字(或两个数字的平均值)叫做这组数据的中位数.
中位数的算法:求中位数时,首先要先排序(从小到大),然后计算中位数的序号,分数据为奇数个与偶数个两种来求.
中位数算出来可避免极端数据,代表着数据总体的中等情况.
如果总数个数是奇数的话,按从小到大的顺序,取中间的那个数
如果总数个数是偶数个的话,按从小到大的顺序,取中间那两个数的平均数

1年前

2

瘦神将 幼苗

共回答了50个问题 举报

你画一个茎叶图,再数。

1年前

1

jiaxinchen 幼苗

共回答了32个问题 举报

下面是我的回答,我贴了第三遍了(文字,学习他人)。
首先100个是极小规模的问题,可以用最差的选择排序O(n^2),找到中间的数字就可以。
如果是十万左右的话可以采用快速排序,取得中间的数字。
另外如果你的数据量是一千万,就需要采用我下面的算法。
实数的排序算法复杂度是O(nlogn),这个中位数可以做到O(n)
下面我来说明这个算法的过程。
算法是...

1年前

0
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 18 q. 0.025 s. - webmaster@yulucn.com