首页 >

如何使用Python求无序大数组的中位数? |list 返回下标 python

Python .stdin,python gui模块,python 判断操作系统类型,泰安python培训机构,python模拟微信客户端,985 python,python传播代码,文章浓缩 python,python repl报错,python 随机拆分,list 返回下标 python如何使用Python求无序大数组的中位数? |list 返回下标 python

Python实现计算无序大数组的中位数算法

中位数定义:对于有限的数集,可以通过把所有元素高低排序后找出正中间的一个作为中位数。如果观察值有偶数个,通常取最中间的两个数值的平均数作为中位数。


实现思路

  • 随机获取无序数组中一个元素作为分割元素,以分割元素为界限,将数组分割大小数组两部分。

  • 若“小”数组的长度大于中位数索引值,则基于“小”数组继续选取随机值缩小其长度。

  • 舍弃比中位数值小的元素,以减少计算量,相应的中位数索引左移对应长度,保证相对原始数据索引长度不变。

  • 判断无序数组中该分割元素个数,若大于新的中位数索引,则该分割元素就是中位数。若小于则舍弃分割元素,因此调整中位数的索引值,左移对应长度。

  • 对“大””数组重复上述计算。


Python实现

测试结果

测试环境:

测试结果:

同时,由于随机抽取元素,进行计算,算法表现稳定性不是很好。

若对您有所帮助,欢迎大家评论、留言。

如何使用Python求无序大数组的中位数? |list 返回下标 python
  • mysql cluster 性能测试 |hibernate mysql 关键字
  • mysql cluster 性能测试 |hibernate mysql 关键字 | mysql cluster 性能测试 |hibernate mysql 关键字 ...

    如何使用Python求无序大数组的中位数? |list 返回下标 python
  • 100万数据mysql查询时间 |多级菜单创建mysql表格
  • 100万数据mysql查询时间 |多级菜单创建mysql表格 | 100万数据mysql查询时间 |多级菜单创建mysql表格 ...

    如何使用Python求无序大数组的中位数? |list 返回下标 python
  • MySQL 5.6.7-RC 的 tpcc-mysql 基准测试结果【MySQL】
  • MySQL 5.6.7-RC 的 tpcc-mysql 基准测试结果【MySQL】 | MySQL 5.6.7-RC 的 tpcc-mysql 基准测试结果【MySQL】 ...