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

    千次阅读 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)。
    有空要再好好看一下。

    展开全文
  • 中位数和平均

    万次阅读 2018-09-27 23:09:44
    部分数据的变动对中位数没有影响,当组数据中的个别数据变动较大时,常用它来描述这组数据的集中趋势。 3)众数也是数据的代表数,反映了组数据的集中程度.日常生活中诸如“最佳”、“最受欢迎”、“最...

    区别联系

    1)平均数是通过计算得到的,因此它会因每一个数据的变化而变化。

    2)中位数是通过排序得到的,它不受最大、最小两个极端数值的影响。部分数据的变动对中位数没有影响,当一组数据中的个别数据变动较大时,常用它来描述这组数据的集中趋势。

    3)众数也是数据的一种代表数,反映了一组数据的集中程度.日常生活中诸如“最佳”、“最受欢迎”、“最满意”等,都与众数有关系,它反映了一种最普遍的倾向。

    优缺点:

    平均数:需要全组所有数据来计算;易受数据中极端数值的影响。中位数:仅需把数据按顺序排列后即可确定;不易受数据中极端数值的影响。众数:通过计数得到;不易受数据中极端数值的影响。

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

    中位数:也就是选取中间的数,是一种衡量集中趋势的方法。

    例1

    找出这组数据:23、29、20、32、23、21、33、25 的中位数。

    解:

    首先将该组数据进行排列(这里按从小到大的顺序),得到:

    20、21、23、23、25、29、32、33

    因为该组数据一共由8个数据组成,即n为偶数,故按中位数的计算方法,得到中位数

      

    ,即第四个数和第五个数的平均数。

    例2

    找出这组数据:10、20、 20、 20、 30的中位数。

    解:

    首先将该组数据进行排列(这里按从小到大的顺序),得到:

    10、 20、 20、 20、 30

    因为该组数据一共由5个数据组成,即n为奇数,故按中位数的计算方法,得到中位数为20,即第3个数。

    展开全文
  • 中位数是指将数据按大小顺序排列起来,形成一个数列,居于数列中间位置的那个数据。中位数用Me表示。  从中位数的定义可知,所研究的数据中有一半小于中位数,一半大于中位数中位数的作用与算术平均数相近,也...

           中位数是指将数据按大小顺序排列起来,形成一个数列,居于数列中间位置的那个数据。中位数用Me表示。

      从中位数的定义可知,所研究的数据中有一半小于中位数,一半大于中位数。中位数的作用与算术平均数相近,也是作为所研究数据的代表值。在一个等差数列或一个正态分布数列中,中位数就等于算术平均数。

      在数列中出现了极端变量值的情况下,用中位数作为代表值要比用算术平均数更好,因为中位数不受极端变量值的影响;如果研究目的就是为了反映中间水平,当然也应该用中位数。在统计数据的处理和分析时,可结合使用中位数。

      将数据排序后,位置在最中间的数值。即将数据分成两部分,一部分大于该数值,一部分小于该数值。中位数的位置:当样本数为奇数时,中位数=(N+1)/2 ; 当样本数为偶数时,中位数为N/2与1+N/2的均值 ,或求出中间两个数的平均数作为中位数。

          在Excel中有函数MEDIAN来取中位数,但是在SQL Server中则没有该内置的函数,需要用以下方法求得。

        

    create table #tb(pid varchar(10),coadcladcon int)
    insert into #tb
     select 'PRAA0370',1 union all
     select 'PRAA0370',2 union all
     select 'PRAA0370',3 union all
     select 'PRAA0370',4 union all
     select 'PRAA0370',5 union all
     select 'PRAA0370',6 union all
     select 'PRAA0371',1 union all
     select 'PRAA0371',2 union all
     select 'PRAA0371',3 union all
     select 'PRAA0371',4 union all
     select 'PRAA0371',5 union all
     select 'PRAA0371',6 union all
     select 'PRAA0371',7 
    
    WITH OrdersRN AS
    (
      SELECT pid, coadcladcon,
        ROW_NUMBER() OVER(PARTITION BY pid ORDER BY coadcladcon) AS RowNum,
        COUNT(*) OVER(PARTITION BY pid) AS Cnt
      FROM #tb
    )
    select pid,avg(coadcladcon) coadcladcon from (
    SELECT pid,coadcladcon,RowNum,Cnt
    FROM OrdersRN o
    WHERE RowNum IN((Cnt + 1) / 2,(Cnt + 2) / 2) 
    )a
    group by pid


          

    展开全文
  • 均值 描述:组数据的平均 公式:u = 1/n ∑[n,i=1]Xi = 1/n(X1 + X2 + ......如果数据总数为偶数,中位数就是中间两数据的平均 众数 描述:数据中出现次数最多的数 组数据中,可能存在多众数,也可能不

    均值

     
    描述:一组数据的平均值。
     
     

    中位数

     
    描述:中位数就是将数据按大小顺序排列后,处于中间位置的数。
     
    如果数据总个数为奇数,中位数就是中间位置的数。
     
    如果数据总个数为偶数,中位数就是中间两个数据的平均值。
     
     

    众数

     
    描述:数据中出现次数最多的数。
     
    一组数据中,可能存在多个众数,也可能不存在众数。
     
    如:2、6、6、8、8 、10,众数是 6 和 8。
     
    如:1、3、5、7、9、11,没有众数。
     
     

    均值、中位数、众数的优缺点

      优点 缺点
    均值 充分利用所有数据,适用性强 容易受到极端值影响
    中位数 不受极端值影响 缺乏敏感性
    众数 当数据具有明显的集中趋势时,代表性好;不受极端值影响 缺乏唯一性:可能有一个,可能有两个,可能一个都没有

    例子

     
    1)全国的家庭年总收入的平均值是10万元。
     
    这时看不出来整体的贫富差距的,可能是少数人收入极高,大部分人收入极低,也可能是大部分人在平均值左右(10万)。
     
    所以平均值容易受到异常值的影响,看不出数据的具体分布情况。
     
    2)如果知道了平均值是10万元,并且也知道了中位数,就可以判断数据的分布情况了。
     
    如果中位数在10万左右,也就是大部分人的收入在平均值附近,那么可以判断整体的贫富差距较小。
     
    如果中位数远小于10万,假设是2万,也就是大部分人的收入都远低于平均值,这时贫富差距较大,穷人很多,富人极少。
     
    如果中位数远大于10万,假设是30万,也就是大部分的收入都远大于平均值,这时贫富差距也较小,大部分人都达到了中产阶级,只有少数穷人,这或许就是小康社会吧。
     
    3)最后,也可以把众数也加进来,众数一般作为辅助指标。
     
     
    展开全文
  • 描述性统计,最有代表性的统计量。...#依次为:最小值、下四分位数、中位数、上四分位数、最大 验证: > min(x) [1] 3> max(x)[1] 10> median(x)[1] 5> quantile(x) 0% 25% 50% 75% 100% 3 4 5 ...
  • python求均值、中位数、众数的方法

    万次阅读 多人点赞 2018-05-26 16:18:58
    首先需要数据源,这里随便写了一个:nums = [1,2,3,4]求均值和中位数均可以使用numpy库的方法: #均值 np.mean(nums) #中位数 np.median(nums)求众数方法一:在numpy中没有直接的方法,但是也可以这样实现:import ...
  • 当我深入研究时,我意识到我很难理解为给定的数据选择哪个集中趋势指标有三种:平均中位数和众数。 所以我决定写这篇文章来帮助像我一样在这领域里的新人来弄明白这一点,而不是害怕数据和统计。这里我们使用...
  • lintcode两排序数组的中位数

    千次阅读 2017-08-31 18:41:27
    排序数组的中位数   描述 笔记  数据  评测 两排序的数组A和B分别含有m和n数,找到两排序数组的中位数,要求时间复杂度应为O(log (m+n))。 您在真实的面试中是否遇到过...
  • python求解中位数、均值、众数

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

    千次阅读 2019-08-24 22:30:11
    中位数(Median)又称中值,统计学中的专有名词,是按顺序排列的一组数据中居于中间位置的数,代表一个样本、种群或概率分布中的一个数值,其可将数值集合划分为相等的上下两部分。对于有限的数集,可以通过把所有...
  • 无序数组中求中位数

    千次阅读 2017-06-08 16:34:15
    题目现有一些随机生成的数字要将其...给定一个int数组A,为传入的数字序列,同时给定序列大小n,请返回一个int数组,代表每次传入后的中位数。保证n小于等于1000。 测试样例:[1,2,3,4,5,6],6 返回:[1,1,2,2,3,3]思
  • 或许当你看到行代码的...)就像进行数据处理的时候,有时会遇到求极值(最大、最小值)、平均中位数和四分位数(25%、 75%)的情况。 这篇博客就是你的福音,让你绝对0基础使用python 进行数据分析。 ...
  • 查找中位数(java 快速排序)

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

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

    万次阅读 2020-04-21 20:37:09
    中位数定义:一组数据按从小到大的顺序依次排列,处在中间位置一个数或最中间两个数据的平均(如果这组数的个数为奇数,则中位数为位于中间位置的那个数;如果这组数的个数为偶数,则中位数是位于中间位置的两个...
  • 组数据中如果有特别大的数或特别小的数时,一般用中位数 组数据比较多(20以上),范围比较集中,一般用众数 其余情况一般还是平均数比较精确 、联系与区别:  1、平均数是通过计算得到的,因此它会因...
  • 题目:在一个文件中有 10G 个整数,乱序排列,要求找出中位数。内存限制为 2G。只写出思路即可(内存限制为 2G的意思就是,可以使用2G的空间来运行程序,而不考虑这台机器上的其他软件的占用内存)。 关于中位数...
  • POJ-4013:中位数

    千次阅读 2012-01-21 00:24:06
    中位数定义:一组数据按从小到大的顺序依次排列,处在中间位置一个数或最中间两个数据的平均(如果这组数的个数为奇数,则中位数为位于中间位置的那个数;如果这组数的个数为偶数,则中位数是位于中间位置的两个...
  • 给定一个非负整数组,你最初位于数组的第一个位置。 数组的每个元素代表你在该位置可以跳跃的最大长度。 你的目标是使用最少的跳跃次数到达数组的最后一个位置。 示例: 输入: [2,3,1,1,4] 输出: 2 解释: 跳...
  • 1188 -- 中位数

    千次阅读 2015-09-02 15:04:34
    中位数定义:一组数据按从小到大的顺序依次排列,处在中间位置一个数(或最中间两个数据的平均数). 给出一组无序整数,求出中位数,如果求最中间两个数的平均数,向下取整即可(不需要使用浮点数) Input 该程序...
  • 采集获取知名招聘网站上的求职和招聘信息并通过商业智能开展职业职位供求及趋势等相关统计分析。何用MDX求解薪水中位数、四分位数(Median,Quartile)等。
  • 找出序列中的中位数

    千次阅读 2015-09-05 22:47:48
    序列中的中位数
  • 相关问题: 给出一个O(n)时间的算法,在给定一个有n个不同...我们先找到这n个数的中位数,然后以此中位数为中心,左边距离中位数k/2个远的位置是这k个数的左端点,右边距离中位数k/2个远的位置是这k个数的右端点。用
  • 从海量数据中找出中位数

    千次阅读 2012-10-19 08:56:52
    题目:在一个文件中有 10G 个整数,乱序排列,要求找出中位数。内存限制为 2G。只写出思路即可(内存限制为 2G的意思就是,可以使用2G的空间来运行程序,而不考虑这台机器上的其他软件的占用内存)。 关于中位数:...
  • 创建一个完整的二维数组;(赋初始是为了方便介绍,也可以从键盘获取) 其次, 我们要得到行数 , 列 和最大, 我们得先申请变量分别来接收 行数, 列 和最大的数值; 然后我们得申请变量代表我们的元...
  • 请找出这两有序数组的中位数。要求算法的时间复杂度为 。 你可以假设nums1和nums2不同时为空。 nums1 = [1, 3] nums2 = [2] 中位数是 2.0 nums1 = [1, 2] nums2 = [3, 4] 中位数是 (2 + 3)/2 = 2.5 ...
  • EXCEL取一列的最后一个非空的

    万次阅读 2011-02-09 16:42:00
    一列的最后一个数往往用于计算合计代表整列某个性质的,所以往往需要取这个,然而有时这个是在列不固定的行上。所以需要取一列的最后一个非空的的函数 Excel 所有版本最大行,列
  • 昨天讲了中心要素,因为中心要素是要从原来的要素去选择一个已有的,所以算出来的,与我们观念和感知的“中心”这个概念,还是差距很大,所以今天来讲讲这两种中心的计算方式和应用范围。   我们来看看三者...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 449,776
精华内容 179,910
关键字:

中位数是一个位置代表值