第9章:中位数和顺序统计量

原创 2016年05月30日 22:18:03

快速选择算法如下:

template<class Type>
void quickSelect(vector<Type>& array,int k,int left,int right)
{
         //尾递归
/*
        if(left<right){
                if(10<=right-left){
                        int breakPoint=randomPartition(array,left,right);
                        if(breakPoint==k-1)
                                return;
                        else if(breakPoint<k-1)
                                quickSelect(array,k,breakPoint+1,right);
                        else
                                quickSelect(array,k,left,breakPoint-1);
                }
                else
                        insertionSort(array,left,right);
        }
*/

         //没有尾递归情况
        while(left<right){
                if(10<=right-left){
                        int breakPoint=randomPartition(array,left,right);
                        if(breakPoint==k-1)
                                break;
                        else if(breakPoint<k-1)
                                left=breakPoint+1;
                        else
                                right=breakPoint-1;
                }
                else{
                        insertionSort(array,left,right);
                        break;
                }
        }

}

template<class Type>
const Type& quickSelect(vector<Type>& array,int k)
{
        quickSelect(array,k,0,array.size()-1);
        return array[k-1];

}
版权声明:本文为博主原创文章,未经博主允许不得转载。

中位数和顺序统计量(第9章)

学习由n个不同的树的集合中选择第i个顺序统计量的问题。 输入:一个包含nn个(互异的)数的集合AA,1≤i≤n1 \leq i \leq n的整数i。 输出:元素x∈Ax \in A,并且 AA...
  • zhangyifei521
  • zhangyifei521
  • 2016年03月03日 16:36
  • 403

第9章 中位数和顺序统计量

第九章
  • zhangrunnanshuai
  • zhangrunnanshuai
  • 2017年09月22日 10:17
  • 37

【算法导论】中位数和顺序统计量之选择算法

本文阐述了如何使用期望和线性时间的选择算法求得第i顺序统计量,欢迎拍砖!...
  • cyp331203
  • cyp331203
  • 2014年12月30日 16:10
  • 1476

中位数和顺序统计学之求解顺序统计量

介绍了一种如何在O(n)时间内,求解出一组数的顺序统计量。即,给定N个数,在O(N)的时间内求出第K小的元素。1 =< K ...
  • hapjin
  • hapjin
  • 2015年11月11日 20:16
  • 1131

算法导论—中位数与顺序统计量

华电北风吹 天津大学认知计算与应用重点实验室 日期:2015/7/7 一、选择最大值或者最小值的最优算法 对于长度为n的数组,已证找最大值或者最小值比较操作下界就是n-1。所以只需要让第一个...
  • zhangzhengyi03539
  • zhangzhengyi03539
  • 2015年07月07日 23:17
  • 11082

中位数和顺序统计量---算法导论学习笔记

算法导论断断续续看了一小部分,但是还没有写过总结和笔记,很多思考和学习到的东西都随着时间流失掉了(痛心)。 下面进入正题: 1.最大值和最小值问题 ...
  • miaote
  • miaote
  • 2016年11月05日 21:05
  • 470

最小值与最大值(第9章:中位数和顺序统计量)...2014.4.28

#include #include #define DataType int DataType MINIMUM(DataType A[],int length) { Da...
  • u012102997
  • u012102997
  • 2014年04月28日 20:08
  • 288

顺序统计量

从现在开始,一起写代码的同学越来越多,在验证自己程序正确性的同时,还要不断提高自己程序的运行速度,总不希望自己的程序比同学的要慢,快还是好的。今天总结顺序统计量的相关问题,以及程序的优化。...
  • wei_tianzhu
  • wei_tianzhu
  • 2016年07月28日 21:50
  • 2633

《算法导论》第9章 中位数和顺序统计量 个人笔记

第9章 中位数和顺序统计量9.1 最小值和最大值 9.2 期望为线性时间的选择算法 9.3 最坏情况为线性时间的选择算法...
  • Amber07
  • Amber07
  • 2017年05月15日 10:16
  • 173

算法导论 第9章 中位数和顺序统计量 C++实现

chapter9.h #ifndef CHPATER9_H #define CHAPTER9_H // clrs chapter 9--medians and order statistics //...
  • rongfzh1990
  • rongfzh1990
  • 2014年05月26日 10:00
  • 590
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:第9章:中位数和顺序统计量
举报原因:
原因补充:

(最多只允许输入30个字)