精华内容
下载资源
问答
  • 中位数

    千次阅读 2015-10-11 18:07:50
    中位数定义:一组数据按从小到大的顺序依次排列,处在中间位置的一个数或最中间两个数据的平均值(如果这组数的个数为奇数,则中位数为位于中间位置的那个数;如果这组数的个数为偶数,则中位数是位于中间位置的两个...

    问题描述
    中位数定义:一组数据按从小到大的顺序依次排列,处在中间位置的一个数或最中间两个数据的平均值(如果这组数的个数为奇数,则中位数为位于中间位置的那个数;如果这组数的个数为偶数,则中位数是位于中间位置的两个数的平均值).
    给出一组无序整数,求出中位数,如果求最中间两个数的平均数,向下取整即可(不需要使用浮点数)
    输入
    该程序包含多组测试数据,每一组测试数据的第一行为N,代表该组测试数据包含的数据个数,1 <= N <= 15000.
    接着N行为N个数据的输入,N=0时结束输入
    输出
    输出中位数,每一组测试数据输出一行
    输入示例

    4
    10
    30
    20
    40
    3
    40
    30
    50
    4
    1
    2
    3
    4
    0

    输出示例

    25
    40
    2

    提示
    这是也一道经典的算法问题,在企业面试里出现概率很高,是“找到第K大的数”的变种。先排序再找中位数自然是很直接的做法,但排序本身很慢。我们只想找到第n/2大的数,对于其他数的顺序我们并不关心。那么怎么在不排序的前提下找到第n/2大的数呢?
    源码

    #include <iostream>
    #include <vector>
    using namespace std;
    
    int main()
    {
        int numGroup = 0;
        vector<int> numAve;
        while(1)
        {
            int N = 0;
            cin >> N;       
            if (N == 0)
            {
                break;
            }
            else
            {           
                vector<int> sample(N);
                for (int i = 0; i < N; i++)
                {
                    cin >> sample[i];
                }
                if (N%2 != 0)
                {
                    int k = N/2 +1;
                    for (int i = 0; i < k; i++)
                    {
                        for (int j = i; j < N; j++)
                        {
                            if (sample[j] > sample[i])
                            {
                                int temp = sample[j];
                                sample[j] = sample[i];
                                sample[i] = temp;
                            }
                        }
                    }
                    numAve.push_back(sample[k-1]);
    //              cout << sample[k-1] << endl;
                } 
                else
                {
                    int k = N/2 +1;
                    for (int i = 0; i < k; i++)
                    {
                        for (int j = i; j < N; j++)
                        {
                            if (sample[j] > sample[i])
                            {
                                int temp = sample[j];
                                sample[j] = sample[i];
                                sample[i] = temp;
                            }
                        }
                    }
                    numAve.push_back((sample[k-2]+sample[k-1])/2);
    //              cout << (sample[k-2]+sample[k-1])/2 << endl;
                }
            }
            numGroup++;
        }
        for (int i = 0; i < numGroup; i++)
        {
            cout << numAve[i] << endl;
        }
        return 0;
    }

    ————————————————-2016/6/4———————————————–
    昨天师兄说起去面试的时候,他们让写个中值滤波的程序,想起找中位数这个问题。
    网上搜了一下,有些是借用了快排的思想做,最快的可达到最坏复杂度O(n)。
    有空要再好好看一下。

    展开全文
  • 统计学中位数概念的理解

    千次阅读 2019-03-06 00:10:42
    如果将全部数据分成相等的两部分,它就是中位数;如果分成四等分,就是四分位数;八等分就是八分位数等。四分位数也称为四分位点,它是将全部数据分成相等的四部分,其中每部分包括25%的数据,处在各分位点的数值...

    分位数是将总体的全部数据按大小顺序排列后,处于各等分位置的变量值。
    如果将全部数据分成相等的两部分,它就是中位数;如果分成四等分,就是四分位数;八等分就是八分位数等。四分位数也称为四分位点,它是将全部数据分成相等的四部分,其中每部分包括25%的数据,处在各分位点的数值就是四分位数。四分位数有三个,第一个四分位数就是通常所说的四分位数,称为下四分位数,第二个四分位数就是中位数,第三个四分位数称为上四分位数,分别用Q1、Q2、Q3表示
    [2]

    第一四分位数 (Q1),又称“较小四分位数”,等于该样本中所有数值由小到大排列后第25%的数字。
    第二四分位数 (Q2),又称“中位数”,等于该样本中所有数值由小到大排列后第50%的数字。
    第三四分位数 (Q3),又称“较大四分位数”,等于该样本中所有数值由小到大排列后第75%的数字。
    第三四分位数与第一四分位数的差距又称四分位距(InterQuartile Range,IQR)。

    展开全文
  • 文章目录算数平均数、中位数、众数和几何平均数 算数平均数、中位数、众数和几何平均数 统计数据时经常用到的几种数的比较: 算数平均数 中位数 众数 几何平均数 英文名 Arithmetic mean Median Mode ...

    算数平均数、中位数、众数和几何平均数

    统计数据时经常用到的几种数的比较:

    算数平均数 中位数 众数 几何平均数
    英文名 Arithmetic mean Median Mode Geometric Mean
    别称 均值 中值
    定义 n个变量的和除以n。 中位数是按顺序排列的一组数据中居于中间位置的数,即在这组数据中,有一半的数据比他大,有一半的数据比他小。 一组数据中,出现次数最多的数就叫这组数据的众数。 几何平均数是n个变量值连乘积的n次方根。
    优点 只需要知道变量组的总额,不需要知道每个变量值,就可以计算。 不容易受极大值和极小值影响。 数据项没有数值时也可以计算。 不容易受极大值和极小值影响。
    缺点 容易受极大值或极小值影响。 需要知道每个变量的值,并且先排序,再找出中位数。 需要知道每个变量出现的次数,仅适用于计算Top N的情况。 变量值不能为0或负数,仅适用于具有等比或近似等比关系的数据。

    考虑上算数平均数和几何平均数的数据项采用不同的权重,就是加权算数平均数和加权几何平均数。

    在统计一般的“平均数”时,比如统计平均工资、平均房价时,用中位数比算数平均数更合理,可以避免受极大值或极小值影响。但是在实际中,考虑到统计成本,统计的样本比较小,统计数据缺失,统计对象的有意漏报错报,而算数平均数因为计算简单对数据要求不高,仍然被广泛使用。

    参考文档:

    展开全文
  • 水题 求中位数

    千次阅读 2019-01-02 18:25:08
    中位数定义:一组数据按从小到大的顺序依次排列,处在中间位置的一个数(或最中间两个数据的平均数). 给出一组无序整数,求出中位数,如果求最中间两个数的平均数,向下取整即可(不需要使用浮点数) 输入描述: ...

    题目描述:

    中位数定义:一组数据按从小到大的顺序依次排列,处在中间位置的一个数(或最中间两个数据的平均数). 给出一组无序整数,求出中位数,如果求最中间两个数的平均数,向下取整即可(不需要使用浮点数)

    输入描述:

    该程序包含多组测试数据,每一组测试数据的第一行为N,代表该组测试数据包含的数据个数,1<=N<=10000.
    接着N行为N个数据的输入,N=0时结束输入

    输出描述:

    输出中位数,每一组测试数据输出一行
    

    输入样例:

    4
    10
    30
    20
    40
    3
    40
    30
    50
    4
    1
    2
    3
    4
    0

    输出样例:

    25
    40
    2

    AC代码:

    #include <bits/stdc++.h>
    using namespace std;
    
    int main()
    {
        int N;
        while(cin >> N && N)
        {
            int a[N];
            for(int i = 0; i < N; i++)
            {
                cin >> a[i];
            }
            sort(a,a+N);    //升序排列
            if(N%2 != 0)   //若数组是奇数个
            {
                cout << a[N/2] << endl;
            }
            else    //若数组是偶数个
            {
                cout << (a[N/2]+a[N/2-1])/2 << endl;
            }
        }
        return 0;
    }

     

    展开全文
  • 中位数及带权中位数问题

    千次阅读 2016-02-01 16:18:57
    信息学竞赛总是时不时与数学产生微妙的关系,中位数及带权中位数问题有时常常成为解题的关键,今日有时间,所以梳理一下。 先从一到简单的题看起: 士兵站队问题 在一个划分成网格的操场上,n个士兵散乱地站在...
  • 什么是高位数,中位数,低位数

    千次阅读 2019-10-22 14:15:15
  • SQL 如何计算每个分组的中位数

    千次阅读 2020-06-15 14:31:49
    中位数是指一组数据排序以后,位于中间位置的数据值。如果数据个数是奇数,中位数就是最中间位置那个值;如果是偶数,则是中间位置那两个数的平均值。 怎么查询出数据分组以后每个组的中位数呢? 用SQL来解决这个...
  • python求解中位数、均值、众数

    万次阅读 2019-02-16 11:19:19
     中位数(又称中值,英语:Median),统计学中的专有名词,代表一个样本、种群或概率分布中的一个数值,其可将数值集合划分为相等的上下两部分。对于有限的数集,可以通过把所有观察值高低排序后找出正中间的一个...
  • 中位数

    千次阅读 2018-12-30 22:56:00
    中位数定义:一组数据按从小到大的顺序依次排列,处在中间位置的一个数 (或最中间两个数据的平均数). 给出一组无序整数,求出中位数,如果求最 中间两个数的平均数,向下取整即可(不需要使用浮点数) 输入描述: ...
  • rstudio中位数的公式In this tutorial, let’s learn how we can find the median in R. Median is defined as the measurement of central tendency in the data. In simpler terms, you may call it the ‘middle...
  • 从数据流中获取中位数

    万次阅读 2020-02-29 11:55:55
    中位数定义为元素个数为奇数的序列的排序结果中间位置元素值,偶数数列的排序结果中间位置的两个元素的元素值的平均。 需求分析   首先要获得数据流的中位数,这个问题可以轻易转换成查找序列中的第k大的数,如果...
  • 数据挖掘中的中位数

    千次阅读 2013-07-01 17:14:44
    在数据挖掘的学习中,遇到了中位数概念,一GOOGLe之下,其实发现以前的课本等是没学习到的,但现在的中小学生都有学了,现在复习一下  中位数的含义 中位数是将数据按大小顺序排列起来,形成一个数列,居于数列...
  • 中位数计数

    千次阅读 2016-05-27 12:15:16
    中位数计数 Time Limit: 12000/6000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 826 Accepted Submission(s): 324 ...中位数定义为所有值从小到大排序后排在正中间
  • 无序数组中求中位数

    千次阅读 2017-06-08 16:34:15
    题目现有一些随机生成的数字要将其依次传入,请设计一个高效算法,对于每次传入一个数字后,算出当前所有传入数字的中位数。(若传入了偶数个数字则令中位数为第n/2小的数字,n为已传入数字个数)。 给定一个int数组A...
  • hiveUDAF求中位数

    千次阅读 2014-04-03 13:15:05
    看下中位数定义: MEDIAN 中位数(一组数据按从小到大的顺序依次排列,处在中间位置的一个数或最中间两个数据的平均数) 写成genericUDAF的形式 1 2 3 4 中位数 2+3/2=2.5 1 2 3 中位数 2 附上代码: package org....
  • 海量数据查找中位数

    千次阅读 2018-08-03 23:45:36
    中位数定义:数字排序之后,位于中间的那个数。比如将10亿个数字进行排序(位置从1到10亿),排序之后,位于第5亿个位置的那个数 就是中位数。 关于中位数,可参考:快速排序中的分割算法的解析与应用   一种...
  • Java实现 LeetCode 4 寻找两个有序数组的中位数

    万次阅读 多人点赞 2020-02-11 18:54:06
    寻找两个有序数组的中位数 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。 请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。 你可以假设 nums1 和 nums2 不会同时为空。 示例 1: ...
  • 带权中位数

    千次阅读 2011-03-31 23:36:00
    , wn,所有权重之和为1的n个不同元素x1, x2, ..., xn,带权(下)中位数是满足如下条件的元素xk和 a)论证x1, x2, ..., xn 的中位数即各xi的带权中位数,此处权值 wi=1/n, i=1,2 ..., n b)如何通过排序,在O...
  • lintcode两个排序数组的中位数

    千次阅读 2017-08-31 18:41:27
    两个排序数组的中位数   描述 笔记  数据  评测 两个排序的数组A和B分别含有m和n个数,找到两个排序数组的中位数,要求时间复杂度应为O(log (m+n))。 您在真实的面试中是否遇到过...
  • 中位数定义为,将一个数列排序后位于中间的数值(数列长度为奇数时,取正中间的数,长度为偶数时,去中间的两个数的平均) 众数定义为,在一个数列中,出现次数最多的那个数值。 python代码实现:#计算平均数 def ...
  • 数据流中的中位数

    千次阅读 2018-07-02 11:28:58
    题目描述 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。由于...
  • OpenJ_Bailian - 4013 中位数

    万次阅读 2020-04-21 20:37:09
    中位数定义:一组数据按从小到大的顺序依次排列,处在中间位置的一个数或最中间两个数据的平均值(如果这组数的个数为奇数,则中位数为位于中间位置的那个数;如果这组数的个数为偶数,则中位数是位于中间位置的两个...
  • PKU-中位数

    千次阅读 2018-07-23 10:02:07
    中位数定义:一组数据按从小到大的顺序依次排列,处在中间位置的一个数(或最中间两个数据的平均数). 给出一组无序整数,求出中位数,如果求最中间两个数的平均数,向下取整即可(不需要使用浮点数) 输入描述 ...
  • 请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为O(log(m+n))。 你可以假设nums1和nums2不会同时为空。 示例1: nums1=[1,3] nums2=[2] 则中位数是2.0 示例2: nums1=[1,2] nums2=[3,4...
  • 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。 思路:由于...
  • 一组数据中如果有特别大的数或特别小的数时,一般用中位数 一组数据比较多(20个以上),范围比较集中,一般用众数 其余情况一般还是平均数比较精确 一、联系与区别:  1、平均数是通过计算得到的,因此它会因...
  • C++实现求中位数

    千次阅读 2020-03-14 20:04:03
    中位数定义:一组数据按从小到大的顺序依次排列,处在中间位置的一个数(或最中间两个数据的平均数). 给出一组无序整数,求出中位数,如果求最中间两个数的平均数,向下取整即可(不需要使用浮点数) 输入输出格式 ...
  • 题目描述如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。
  • 中位数的应用

    千次阅读 2013-12-14 20:04:15
    对于中位数这个概念 , 一般都只是停留在初中时所学的知识 。 中位数:对长度为n的系列数据,根据数据大小排列得到的位于[(n+1)/2]位置上的数据。(百度百科) , 就是说给出n个数 , 排序 , 然后求出最终中间的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,101,321
精华内容 440,528
关键字:

中位数的概念是什么