正文内容
排序分析法范文
来源:文库
作者:开心麻花
2025-09-19
1

排序分析法范文(精选12篇)

排序分析法 第1篇

经过多年的探索发展, 向量空间模型、语言模型、布尔模型、链接分析算法、相关性排序模型等都曾或正被应用到搜索引擎中。目前用得比较多的排序算法是在链接分析算法的基础上加入更多的排序因素:关键词在网页中出现的位置、点击次数和网页被引用次数等。这些方法最大的不足是不同用户搜索得到的网页结果排序是一样。

2 层次分析法

2.1 层次分析法原理

层次分析法 (AHP) , 其主要思想是通过对复杂系统的有关要素及其相互关系进行分析, 将其简化为有序的递阶层次结构, 使这些要素归类到不同的层次, 形成一个多层次的分析结构模型, 最终把系统分析转化为确定最低层 (决策方案) 相对于最高层 (总目标) 的相对重要性权值的问题。

AHP使用时先将问题中的因素划分到不同层次中, 利用一致矩阵法确定各层次因素间的权重, 经过归一化得出由同层次因素对于上一层次某因素的相对重要性的权值所组成的矩阵。然后计算某层次所有因素对最高层相对重要性的权值。两次相对重要性权值计算都需进行一致性检验。

AHP实现网页排序的原理是以网页和搜索关键词之间的相关度为最高层, 点击次数、词频、词位置、引用次数、浏览时间和用户个人信息作为中间层, 搜索的结果网页为最底层。通过结合搜索和层次分析法排序完成搜索任务。

2.2 基于层次分析的网页排序

首先对用户提交的关键词进行同义词查询, 基于关键词及其同义词进行扩展查询, 查询返回关键词在页面中的位置、浏览平均时间、点击率、被引用次数等信息, 然后对返回的结果页面结合AHP分析得出相关性排序网页, 最终向用户反馈排序结果。

假设用户提交关键词后得到5个页面, 为得到的页面创建Searched Page实例。该实例有以下字段:id (页面在DB中的编号) , relevance (关键词与页面的相关程度) , hit Weight (页面被点击次数权重, /100) , ref Weight (页面被引用次数权重) , pos Weight (关键词位置权重, 根据关键词第一次出现的位置判断, 标题部分取20, 正文按每10%减1, 正文前10%取10) , fre Weight (关键词频率权重, *100) , read TWeight (页面平均浏览时间权重, *100) , cus Weight (用户个性化相关权重, 页面类别与用户爱好匹配取3, 否则取1) , syn Weight (词义距离权值, 取值0-5, 直接匹配取0) 。假设这5个页面: (hit Weight, ref Weight, pos Weight, fre Weight, read TWeight, cus Weight, syn Weight)

5个页面取值分别为:P1 (9.6, 24, 20, 0.93, 2.7, 1, 1) , P2 (3.1, 7, 9, 0.2, 1.76, 1, 1) , P3 (8.2, 13, 10, 0.98, 0.84, 3, 1) , P4 (9.7, 8, 10, 1.15, 0.79, 1, 0) , P5 (5.4, 36, 20, 0.81, 0.8, 3, 2) 。利用AHP求解relevance。

根据中间层因素对relevance取值的影响程度, 建立比较矩阵T, 其中t12=1/3表示作者认为关键词在页面中的位置比其出现频率更重要。

通过计算, 得比较矩阵T的最大特征根λ=7.3, 相应特征变量为W= (0.11, 0.34, 0.05, 0.24, 0.10, 0.08, 0.09) T, 一致性检验指标CI= (λ-n) / (n-1) =0.05, n=7。查表知随机一致性指标为RI=1.32, 一致性比率CR=CI/RI=0.038<0.1, 通过一致性检验。

根据Searched Page属性值, 构建P1到P5实例对fre Weight等指标的判断矩阵, 如下。

因为篇幅有限, 本文不列出K2—K10, 只给出K2—K10比较矩阵的最大特征值λi (i=1, 2, 3, ……, 7) 与对应的特征向量Wi (i=1, 2, 3, ……, 7) 。

λ1=10.04 W1= (0.14, 0.05, 0.16, 0.14, 0.12)

λ2=10.86 W2= (0.13, 0.02, 0.08, 0.10, 0.17)

λ3=10.09 W3= (0.17, 0.03, 0.14, 0.17, 0.11)

λ4=10.11 W4= (0.19, 0.07, 0.07, 0.05, 0.04)

λ5=10.12 W5= (0.12, 0.03, 0.08, 0.04, 0.25)

λ6=10.01 W6= (0.03, 0.04, 0.19, 0.03, 0.18)

λ7=10.29 W7= (0.11, 0.03, 0.12, 0.13, 0.07)

算出K1—K10最大特征值、特征向量对应的CI、CR知通过一致性检验, 层次总排序一致性比率:CR= (t1CI1+t2CI2+L+a7CI7) / (a1RI1+a2RI2+L+a7RI7) , 其中: (t1, t2, t3, t4, t5, t6, t7) T= (0.11, 0.34, 0.05, 0.24, 0.0, 0.08, 0.09) T, 算得CR=0.032, CR<0.1通过检验。

因此, 通过同义词和个性化搜索后得到Searched Page的5个实例P1、P2、P3、P4、P5排序为P1、P5、P3、P4、P2。

3 结语

基于层次分析的搜索排序技术可以较好的解决传统的同义词扩展方式又会带来更多的查询结果难以合理排序的问题, 并有利于提高搜索的精确率和覆盖率。

参考文献

[1]常璐, 夏祖奇.搜索引擎的几种常用排序算法[D].图书情报工作, 2003 (06) .

基于层次分析法的网页排序技术论文 第2篇

1概要

经过多年的探索发展,向量空间模型、语言模型、布尔模型、链接分析算法、相关性排序模型等都曾或正被应用到搜索引擎中。目前用得比较多的排序算法是在链接分析算法的基础上加入更多的排序因素:关键词在网页中出现的位置、点击次数和网页被引用次数等。这些方法最大的不足是不同用户搜索得到的网页结果排序是一样。

2层次分析法

2.1层次分析法原理

层次分析法(AHP),其主要思想是通过对复杂系统的有关要素及其相互关系进行分析,将其简化为有序的递阶层次结构,使这些要素归类到不同的层次,形成一个多层次的分析结构模型,最终把系统分析转化为确定最低层( 决策方案) 相对于最高层( 总目标) 的相对重要性权值的问题。

AHP 使用时先将问题中的因素划分到不同层次中,利用一致矩阵法确定各层次因素间的权重,经过归一化得出由同层次因素对于上一层次某因素的相对重要性的权值所组成的矩阵。然后计算某层次所有因素对最高层相对重要性的权值。两次相对重要性权值计算都需进行一致性检验。

AHP 实现网页排序的`原理是以网页和搜索关键词之间的相关度为最高层,点击次数、词频、词位置、引用次数、浏览时间和用户个人信息作为中间层,搜索的结果网页为最底层。通过结合搜索和层次分析法排序完成搜索任务。

2.2基于层次分析的网页排序

首先对用户提交的关键词进行同义词查询,基于关键词及其同义词进行扩展查询,查询返回关键词在页面中的位置、浏览平均时间、点击率、被引用次数等信息,然后对返回的结果页面结合AHP 分析得出相关性排序网页,最终向用户反馈排序结果。

假设用户提交关键词后得到5 个页面, 为得到的页面创建SearchedPage 实例。该实例有以下字段:id( 页面在DB 中的编号),relevance( 关键词与页面的相关程度),hitWeight( 页面被点击次数权重,/100),refWeight( 页面被引用次数权重),posWeight( 关键词位置权重,根据关键词第一次出现的位置判断,标题部分取20,正文按每10% 减1,正文前10% 取10),freWeight( 关键词频率权重,*100),readTWeight( 页面平均浏览时间权重,*100),cusWeight( 用户个性化相关权重, 页面类别与用户爱好匹配取3,否则取1),synWeight( 词义距离权值,取值0-5,直接匹配取0)。假设这5个页面:(hitWeight,refWeight,posWeight,freWeight,readTWeight,cusWeight,synWeight)

5 个页面取值分别为:P1(9.6,24,20,0.93,2.7,1,1),P2(3.1,7,9,0.2,1.76,1,1),P3(8.2,13,10,0.98,0.84,3,1),P4(9.7,8,10,1.15,0.79,1,0),P5(5.4,36,20,0.81,0.8,3,2)。利用AHP 求解relevance。

根据中间层因素对relevance 取值的影响程度,建立比较矩阵T,其中t12 = 1/3 表示作者认为关键词在页面中的位置比其出现频率更重要。

通过计算,得比较矩阵T 的最大特征根λ = 7.3,相应特征变量为W=(0.11,0.34,0.05,0.24,0.10,0.08,0.09)T,一致性检验指标CI = (λ- n)/(n - 1) = 0.05,n = 7。查表知随机一致性指标为RI=1.32,一致性比率CR=CI/RI=0.038<0.1,通过一致性检验。

根据SearchedPage 属性值,构建P1 到P5 实例对freWeight 等指标的判断矩阵。

因为篇幅有限, 本文不列出K2K10,只给出K2K10 比较矩阵的最大特征值λi(i=1,2,3,??,7) 与对应的特征向量Wi(i=1,2,3,??,7)。

λ1=10.04 W1=(0.14,0.05,0.16,0.14,0.12)

λ2=10.86 W2=(0.13,0.02,0.08,0.10,0.17)

λ3=10.09 W3=(0.17,0.03,0.14,0.17,0.11)

λ4=10.11 W4=(0.19,0.07,0.07,0.05,0.04)

λ5=10.12 W5=(0.12,0.03,0.08,0.04,0.25)

λ6=10.01 W6=(0.03,0.04,0.19,0.03,0.18)

λ7=10.29 W7=(0.11,0.03,0.12,0.13,0.07)

算出K1K10 最大特征值、特征向量对应的CI、CR 知通过一致性检验,层次总排序一致性比率:CR=(t1CI1+t2CI2+L+a7CI7)/(a1RI1+a2RI2+L+a7RI7), 其中:(t1,t2,t3,t4,t5,t6,t7)T=(0.11,0.34,0.05,0.24,0.10,0.08,0.09)T,算得CR = 0.032,CR<0.1 通过检验。

因此,通过同义词和个性化搜索后得到SearchedPage 的5 个实例P1、P2、P3、P4、P5 排序为P1、P5、P3、P4、P2。

3结语

排序分析法 第3篇

摘要:本文通过我国各省区烟草产业发展实力排序和主要影响因素分析。利用多元统计分析的主成分分析和聚类分析方法,借助计算机软件,依据《中国工业统计年鉴2007》提供的我国各省区烟草产业多项经济指标数据,进行特征提取,计算出标准化了的原始数据的各主成分和我国各省区烟草产业发展实力按主成分以特征值贡献率为权重求和的综合评分,实现综合评分排序和在欧氏空间聚类,展示影响我国各省区烟草产业发展的主要影响因素,依据经济学原理提出相应的政策建议。

关键词:主成分分析;烟草产业;排序;比较优势

一、主成分分析

利用主成分分析方法,借助matlab软件,对我国各省区烟草产业发展实力进行排序,分析其主要影响因素和各省区比较优势,提出相应的政策建议,是一个尚未系统研究的有价值的课题。本文进行这一工作。

二、材料与方法

1材料和仪器

采用《中国工业统计年鉴2007》提供的我国各省区烟草产业发展统计数据。

2方法

(1)将我国各省区烟草产业的9项指标作为样本数据,建立原始数据矩阵。

(2)在MATLAB7.1工作界面上依次求取原始矩阵的标准化矩阵、相关系数矩阵、特征向量(主成分系数)、特征值、各特征值对应的贡献率和累计贡献率、各样本主成分得分、各样本以特征值贡献率为权重按主成分得分求和的综合评分、依综合评分对各样本排序、以主成分空间欧氏距离对各样本聚类。

(3)根据主成分系数与原始指标的对应关系分析各主成分的经济意义、根据各样本的各主成分得分分析各省区经济发展实力的主要影响因素

三、结果与讨论

1运行结果

计算机运行结果的部分示例数据如图、表。

2对结果的解释

根据主成分系数与原始指标的对应关系分析各主成分的经济意义:第1主成分系数都比较大:0.33~0.34,说明第1主成分综合反映了各个原始指标的信息;第l主成分的贡献率比较大:0.9522,说明第1主成分所包含的原始数据的信息量占总信息量的极大比例,这一个主成分就能够充分地体现原始数据9个量的信息,从而实现了我国各省区烟草产业发展实力指标体系的降维。

根据各样本的各主成分得分分析各省区经济发展实力的主要影响因素:从我国各省区烟草产业综合评分排序结果,可以看出:云南、湖南、上海、江苏、湖北、河南、广东、浙江这八个省区,是我国烟草产业发展实力最为强劲的主力。它们各具其比较优势:在原始数据指标所张的9维欧氏空间中离原点的距离最远,但有不同的侧重。通过聚类分析也可以显示这一事实(左图)。

3对结果的经济学分析和政策建议

(1)根据比较优势理论和专业化分工理论,各省区的烟草产业发展应当加强交流合作:

希尔排序算法实现与分析 第4篇

1.1 基本思想

希尔排序方法又称为缩小增量排序,其基本思想是将待排序的记录划分成几组,从而减少参与直接插入排序的数据量,当经过几次分组排序后,记录的排列已经基本有序,这个时候再对所有的记录实施直接插入排序。

1.2 步骤

假设待排序的记录为n个,先取整数step

1.3 算法

1.4 实例

假设给定关键字{44 55 12 42 94 18 6 67},因为关键字有8个,第一次步长step=┏8/2┑=4,其希尔排序的过程如下所示:

初始关键字:44 55 12 42 94 18 06 67

第一趟排序结果:44 18 6 42 94 55 12 67

第二趟排序结果:6 18 44 42 12 55 94 67

当step=2时,在此意义下还未有序,如44与12就不满足小的在前大的在后序列,因此在step=2下再排列一次。

因此第二趟最终排序结果:6 18 12 42 44 45 55 94 67

再对第二趟排序:6 18 12 42 4445 55 94 67step=1

第三趟排序结果:6 12 18 424445 55 67 94

到此,所有关键字从小到大有序,整个排序也就完成了。

2 算法分析

(1)希尔排序算法中for(i=1;i<=n-step;i++)循环语句中的循环条件i<=n-step用得比较好,它表明了在特定步长下,关键字需要比较交换n-step次,开始步长大,比较次数少,后来随着步长缩小,关键字的比较次数就增多了。

(2)希尔排序算法中的

while(flag=1)语句也是用得很好,在上面例子中第二趟排序时6 18 44 42 12 55 94 67,如果没有这个循环语句再做循环判断,在step=2排序结束后就倍减步长,那么这组关键字排序不会成功。因此只有在step=2时把44与12交换后再排列一次,关键字才能排列有序。

(3)希尔排序的步长step=┏n/2┑是首先由希尔本人提出来的,但如何选择增量序列才能产生最好的排序效果,至今还没有解决。但排序的时间性能确实优于直接插入排序。这是因为在希尔排序开始时增量较大,分组较多,每组的记录数目少,各组内直接插入较快,后来增量step逐渐缩小,分组数逐渐减少,而各组的记录数目逐渐增多,但由于已经按step作为距离排过序,使关键字较接近于有序状态,所以新的一趟排序过程较快。而直接插入排序最好情况是正序时,其时间复杂度O(n),最坏情况是O(n2),当n比较小时,n与n2差别不大,因此,希尔排序改进了直接插入排序。

参考文献

[1]严蔚敏.数据结构(C语言版)[M].清华大学出版社,2006.

[2]李春葆.数据结构(C语言版)习题与解析[M].清华大学出版社,2000.

[3]徐孝凯.数据结构简明教程[M].清华大学出版社,1997.

排序分析法 第5篇

案例分析题1、1月23日,杭州市散装办派执法人员甲与乙前往市预制构件厂现场检查。AB_AD_C_D_ABCD2、2004年8月12日,甲从某海关进入我国境内,入境时,甲未携带任何物品。AB_ABCD_D_ABCD_B3、2006年12月1日,某县工商局张某到个体经商户李某的音像商店,在未出示证件的情况下称有人举报李某出售《神秘园》盗版光碟,D_ABC_B_AD_C4、2006年6月的周日晚上,赵某驾车前往某饭店参加大学同学毕业十周年聚会。A,BC,ABCD,CD,BC5、2007年8月王某经县矿产局许可,在该县郊区的某处开采铅矿。CD_ABD_AB_ABC_AC6、2007年9月24日,某市劳动局的执法人员到个体户吴爱华的工厂进行检查,发现有多处不符合劳动安全卫生标准,A_D_BCD_AC_AD7、2008年7月5日,某县环保局执法检查发现某热电公司新增一台锅炉和发电机组,未经验收投入生产至今,ACD_BCD_ABCD_CD_ABCD8、2009年10月5日,拉某(阿拉伯人)和丁某(中国人)未经依法批准,在某市开办了一所阿拉伯学校,专门招收外国学生就学。AB_ABCD_ABCD_AC_D9、2010年7月29日,某县工商局在执法检查时发现某饮食店无工商营业执照,即派一名执法人员对该饮食店店主王某进行调查询问,ACD_ABCD_ABCD_ABCD_ABD10、A市B区政府临时设立的“拆迁办公室”经本市人民政府的批准,AC,AB,ABCD,D,ABD11、B市甲因父母工作变动转入A市某小学就读,表现优秀。正确答案为C_BD_D_ACD_D12、C市A区人民政府为了发展家具工业,以区政府办公会议纪要的形式决定设立家具工业园,并决定入园企业可以先建工厂后补办用地手续。AC_BC_BD_AC_C13、甲某系某出租汽车公司司机,2008年9月4日下午,甲某驾驶其出租汽车行至A市B_AC_BCD_ABCD_ACD14、甲与乙婚后购买一套房屋,产权证载明所有权人为乙。后双方协议离婚,约定房屋赠与女儿,甲可以居住房屋至女儿满18岁,C_ACD_ABCD_BCD_BD15、甲市某造纸厂违反《中华人民共和国水污染防治法》的规定,超标排放污水。ACD_ABCD_A_B_D16、张某系个体工商户,经营小食品店,ABD_D_C_A_A17、赵某于2009年6月22日委托律师向区建设局发律师函反映其所购商品房屋设计违反国家强制性标准,要求查处。ABC_C_A_C_BC18、王某因为占道经营被某市执法局罚款。2008年8月26日,执法局派人将处罚决定书送到王某家中,王某拒绝签收 C_AB_CD_AB_BC19、王某为了开办药厂,向县环保局申请排污许可。环保局于2006年9月1日受理了王某的申请。ABC_C_BC_A_AB20、王某经营一家饭店,某日从广州用汽车运回一批价值3万元的海参。AB,AC,CD,CD,ABCD21、马某开了家饺子店,王某声称自己吃了从马某店中购买的饺子后,食物中毒得了急性肠胃炎,要求马某赔偿损失未果,遂向某区卫生部门举报,BC_AD_B_AD_AC22、陈某未经批准在自家墙外搭建临时建筑,市规划局知道该情况后,责令陈某限期拆除违章建筑,陈某拒不执行。ACD_AD_ABCD_ABC_ABC23、许某与汤某系夫妻,婚后许某精神失常。A,D,BC,ABC,ABD24、李东在某市东城区开了一家红楼娱乐城,2008年12月市文化局和市公安局以该娱乐城在经营活动中有色情活动为由,A_BC_ABCD_D_A25、市民李某劳教释放后,经有关部门同意,准备开办一饮食店。各项准备工作就绪后,A_BCD_AC_D_D26、某县杨某打算开发某市郊区的稀土矿,于2008年4月5日,向市矿产局申请开采许可证。AB_A_AB_ABCD_AB27、某高校学生王某因为在一次考试中作弊,被学校给予记过处分,后经过补考获得该科学分。C_D_C_B_BD28、某大学对学生李某的学位申请作出处理意见。一年后,某大学根据市教委的要求,对李某反映的问题再次调查研究,BC_AD_D_B_D29、省工商局认定某黄金饰品公司在2009年到2010年期间,先后两次从无黄金饰品经营权的某厂购买黄金20公斤 D_ACD_B_AD_BC30、县工商局执法检查发现刘某销售某品牌外国香烟,执法人员表明了自己的身份,C,ACD,A,C,B31、县建设局接群众举报称,A开发公司的某房屋工程未办理工程质量监督手续和工程施工许可证擅自开工建设,ABCD_ABD_ABC_C_BD32、某市卫生局经调查取证,根据《市卫生办关于采集血液等若干问题的意见》,采血行为必须获得市卫生办的采血资格证书,B_A_A_AC_ABC33、某县食品药品监管局认定张某销售假药,作出罚款5000元的决定(1号决定)。A_A_D_CD_CD34、某县烟草专卖局发现张某销售某品牌外国香烟,执法人员表明自己身份后,制作了现场笔录。因张某拒绝签名,ABCD_ACD_ABCD_BCD_ABCD35、某日,区城乡建设局根据《市政府关于城乡建设规划的若干意见》批复同意某银行住宅楼选址,并向其颁发许可证。AD_ACD_AB_C_B36、某公司拟新建年产10万吨聚酯装置项目。该公司于2010年7月2日向有审批权的某局提交了行政许可申请材料,ABCD_ABD_A_B_ABC37、某企业为了扩大营销,向某社会团体租用法人登记证书。双方约定,企业在一定场合可以使用这一社会团体的法人证书与他人签订合同BC_ABD_C_CD_ABC38、某造纸厂违法建设一条白板纸生产线,2010年2月,县环保局以未报批环境影响评价文件违法建设为由立案查处ABC_AD_ABC_CD_AB39、山东省某县一造纸厂未经批准擅自在淮河流域的一河流管理范围内设置排污口,向河流内排污,受到某县环保局的查处。ABCD_AC_BD_CD_ABC

你会排序吗? 第6篇

你好!我很喜欢看书,但是我的家人总是不能让我静下心来。从我进家门开始,妈妈或姥姥就开始唠叨,到了奶奶家,奶奶也唠叨:老师布置了什么作业?怎么还不做作业?作业做完了吗?……各种问题,我想安静地先看会故事书啊,唉……

小新

首先,我要夸一夸小新,因为从信中可以得知,小新是个爱看书的孩子。

再仔细读读信,我发现小新妈妈、姥姥、奶奶的念叨,基本上都围绕着小新的作业。那小新作业都完成了吗?我猜肯定没有吧。

作业是老师针对同学们白天学习的知识特意布置的,不仅能加深同学们对知识的记忆,更能检测同学们对知识的掌握、运用。作为一名学生,小新应该先完成作业,再去阅读课外书。

家长会不停地念叨,正是因为觉得小新没有正确排好完成作业与看课外书的顺序,担心小新若看课外书时间太长,会导致作业不能按时完成,影响学习,更有可能会影响睡眠,导致隔天精神头不足。

怎样才能有更多的时间来看自己想看的书呢?

【支招】先完成作业,保证质量的同时,注意节约时间,尽量在学校里就把作业做完,或者一回家就把作业做完,让家长检查。然后再去看书,这样家长就不会念叨了,自然而然也就可以“大读特读”啦!

当然了,不要以为这样,家长就不会干预大家读书了。

大家的周围肯定有各种各样的书,比如故事书、漫画书、名著、优秀的儿童文学作品、优秀作文选……我相信,有不少同学特别钟情于故事书、漫画书吧,因为它们有着新奇搞笑的情节、精致细腻的图画,能极大地放松自己,很对大家的“胃口”。与之相比,名著、儿童文学作品等就不那么合大家“胃口”了,因为翻开便满眼是字,而且插图也不是很多。可正是这些看似不太对我们胃口的书,不仅能丰富我们的学识,开拓我们的视野,更能提高我们的想象力、写作能力、阅读理解能力。

所以,我们要多读名著、优秀的儿童文学作品等,把“好读书”变成“读好书”。但这并不是说,我们就不能看故事书、漫画书了。在完成作业,也看了一定时间优秀读物后,我们可以读会儿故事书、漫画书稍稍放松下,但时间不宜过长。

如何让自己的课外时间变得有条不紊呢?我们可以给自己做个计划表,给各种事情排上合理的序号,注意一定要将重要的事情排在前面,如——

我相信,家长知道大家合理安排自己的时间后,肯定会很欣慰的。

选择排序算法的分析与改进 第7篇

关键词:选择排序,双向排序,效率,时间复杂度

1传统的选择排序算法

传统的选择排序算法有两个很好的性质,即:

(1)运行时间对原始输入数据不敏感:每一次选择都是独立的,不受前一次选择的影响也不对后一次的选择提供相关信息。

(2)数据的交换次数是所有排序算法中最小的:传统算法的交换次数是线性的。

1.1传统选择排序思路

以从小到大排序为例:

第一步:在1~n个数中找到最小数,与第1个数交换,前1个数已排好;

……

第k步:在k~n个数中找到最小数,与第k个数交换,前k个数已排好;

第n-1步:在n-1到n个数中找到最小数,然后与第n-1个数交换,排序结束。

1.2算法分析

时间复杂度:通过对上面代码的分析,研究排序的轨迹,可以知道对每一个i从0到n-1,都有1次交换和n-1-i次比较,所以总共有n次交换和(n-1)+(n-2)+(n-3)+…+2+1+0=n(n-1)/2~n2/2次比较,因此时间复杂度为O(n2)。

2改进的选择排序算法

针对传统排序算法中的每一次选择,可以发现每一次选择只能确定一个优先级最高的元素的位置,而实际上在一次选择的循环中,不仅仅可以确定优先级最高的元素位置,同时也可以确定优先级最低的元素位置。

由此可得出改进后的选择排序算法:数组的中间部分为待排序部分,两边均为已排序部分,每一次选择从待排序部分选择优先级最高和最低的两个元素的位置,分别将该两个元素与待排序部分的首部和尾部进行交换(交换的顺序需要特别考虑),由此即实现了双向排序。这样与传统的选择排序相比,比较次数减少了近1/2。

2.1算法思路

第一步:从1~n个数中同时找到最小数和最大数,将它们分别与第1个数和第n个数交换;

……

第k步:从k~n-k+1个数中同时找到最小数和最大数,将它们分别与第k个数和第n-k+1个数交换;

第n/2步:从n/2~(n/2)+1个数中同时找到最小数和最大数,将它们分别与第n/2个数和第(n/2)+1个数交换,排序结束。

例如对实验数据[10 3 4 7 1 2]的排序过程如下:

第一步:1[3472]10:6个数中1最小,10最大,分别与第1个数和第6个数交换。

第二步:1 2[4 3]7 10:4个数中2最小,7最大,分别与第2个数和第5个数交换。

第三步:1 2 3 4 7 10:2个数中3最小,4最大,分别与第3个数和第4个数交换。

2.2算法分析

时间复杂度:从改进后的算法中,仍研究排序的轨迹,可知交换次数没有改变,仍为n,但比较的次数减少了一半,为n(n-1)/4,提高了效率,但是由于在同一个数量级,时间复杂度仍为O(n2)。

3算法之再改进

在算法2的基础上再对算法进行改进:由传统的选择排序算法的两个性质可得,可以对算法进行改进,增强其对原始输入数据敏感性。在最优的情况下,即输入数据有序,选择排序仍需要进行相同数量级的比较,这大大降低了选择排序的效率。再改进的选择排序算法结合冒泡排序的思路,在每一次选择交换之前,对待排序部分进行预判:若待排序部分已有序,则结束排序。

预判操作为:比较前一个元素和后一个元素的优先级,如果待排序部分中前一个元素的优先级均高(低)于后一个元素,则认为待排序部分有序。由此分析可知,改进后的选择排序最优时间复杂度为O(n)。

例如对实验数据[9 3 5 6 8 1]进行排序的过程:

第一步:1[3 5 6 8]9:预判待排序部分为乱序,进行选择排序。6个数中1最小,9最大,分别与第1个数和第6个数交换。

第二步:预判待排序部分为有序,排序结束。

由此可见,再改进的选择排序算法对原始输入数据的敏感性已得到大幅提升。

3.1算法分析

时间复杂度:该算法与改进后的算法相比,最好情况下的时间复杂度为O(n),最坏情况下为O(n2)。

4代码实现

本文中就不再实现传统的选择排序算法代码,以下为再改进后的选择排序算法代码实现:

5三种选择排序的比较

对三种选择排序的时间复杂度进行比较:

(1)传统选择排序:最好情况时间复杂度:O(n2),最坏情况时间复杂度:O(n2)。

(2)改进选择排序:最好情况时间复杂度:O(n2),最坏情况时间复杂度:O(n2)。

(3)再改进选择排序:最好情况时间复杂度:O(n2),最坏情况时间复杂度:O(n)。

6结语

文章采用双向排序的方法对传统的选择排序算法进行了效率上的提高,并且结合冒泡排序的思路,对选择排序的最好的情况下的时间复杂度进行了优化,均c/c++语言实现了上述算法,通过大量的实验数据证明上述算法的正确性和可行性。

参考文献

[1]Robert,S,&Kevin,W(2013),Algorithms[M].北京:人民邮电出版社出版发行,2010.

[2]严蔚敏,陈文博.数据结构及应用算法教程[M].北京:清华大学出版社,2011.

冒泡排序算法的分析及改进 第8篇

排序是计算机程序设计中的一种重要操作, 它的功能是将一个数据元素 (或记录) 的任意序列重新排列成一个按关键字有序的序列结果一般只有两种情况:数据从大到小排列或者从小到大排列。

冒泡排序算法是一种简单的且为人们所熟知的借助“交换”进行排序的算法。其方法是扫描序列, 比较相邻两个项目的关键字的大小, 若发现逆序即与所要求的次序不一致则进行交换, 关键字最小者在进行非递减排序时将被换到序列的最前位置, 关键字最大者在进行非递增排序时被换到序列的最后位置, 或是关键最大者在进行非递增排序时被换到序列的最前位置关键字最小者在进行非递减排时换到序列的最后位置, 对剩下的项目重复上述过程, 直到剩下的序列为空为止。

1 问题的分析

冒泡排序的过程很简单, 假设待排序序列共有n个记录, 且进行升序排列。首先将第一个记录的关键字与第二个记录的关键字进行比较, 若按升序排序, 则当第一个记录的关键字大于第二个记录的关键字时, 将两个记录交换。然后再比较第二个记录和第三个记录的关键字。依次类推, 直至第n-1个记录和第n个记录的关键字进行比较完为止。通过这样的一趟冒泡排序, 使得关键字最大的记录排在最后一个记录的位置上, 即它的最终位置。接着进行第二趟冒泡排序, 对前n-1个记录进行同样的操作, 其结果使关键字次大的记录被排在倒数第二个位置上。这样通过n-1趟冒泡排序, 就将这n个记录排放到相应的最终位置上, 剩下的关键字最小的记录就放在第一个位置, 从而实现了升序排序。

2 算法的实现

利用c语言编程实现了该算法, 参考程序如下:

3 改进的一种冒泡排序—快速排序

在前面的冒泡排序算法中, 每趟排序都实现了将最大 (升序) 或最小 (降序) 记录移到未排序部分的最后面。快速排序的基本思想为每趟排序都是在未排序的记录中取一记录作为比较的“基准”, 用此基准将当前未排好序的部分划分为前后两个未排好序的部分。如果是升序, 则前边部分记录的关键字均小于或等于基准记录的关键字, 后边部分记录的关键字均大于或等于基准记录的关键字。基准记录则位于最终的位置上。当前后两个未排好序的部分非空时, 分别对它们按上述方法进行下一趟的排序, 直至所有的记录排好为止。

在函数的每趟排序中, 采用未排序的记录中的第一个记录作为比较的“基准”, 并使用两个整型变量, li和ri指向未排序的记录中的第一个和最后一个记录。令ri从所指的记录开始向前扫描, 直至找到第一个小于基准记录的关键字, 并将该记录移至基准的位置上, 同时ri后移一位置。然后, 令li从所指的记录开始向后扫描, 直至找到第一个大于基准记录的关键字, 并将该记录移至基准的位置上, 同时li前移一位置。不断重复上面扫描的过程, 当ri与li相等时, li或ri便是基准记录的位置, 排序成功, 前边部分记录的关键字均小于或等于基准记录的关键字, 后边部分记录的关键字均大于或等于基准记录的关键字。

利用c语言编程实现了该算法, 参考程序如下:

4 结束语

从上面冒泡排序算法和改进的快速算法的分析来看, 只要掌握了冒泡排序的基本原理, 就不难推导出其改进的算法。对上面2种算法比较, 不难发现在数据量很大时, 快速排序优于冒泡排序。

参考文献

[1]王卫东.数据结构辅导[M].西安电子科技大学出版社, 2001

几种排序算法的分析与比较 第9篇

排序是计算机科学、数学、人工智能、日常工作生活、商业服务等领域最常用的一种知识, 一个排序算法 (Sorting algorithm) 是一种能将一串数据依照特定排序方式对它的数据位置进行确定的一种算法。最常用到的排序方式是数值顺序以及字典顺序。由于排序运算的广泛性和重要性, 人们在长期的实践中不断开发出各种各样的排序算法, 它们有着各自的特点、各自的适用范围, 并在各种的应用领域发挥着作用。通过对这些排序算法的基本原理引入, 分别从它们的时间复杂度、空间复杂度和它们的稳定性进行分析和比较, 突出各自的特点, 为选择在不同的领域排序算法的选择提供了的依据, 使开发的程序更加适合实际应用和更好发挥作用。

2、对排序算法分析的理论依据

我们就某一实际问题在选用排序算法来进行解决时, 需要考虑的几个因素一般从以下几个方面综合进行, 排序算法本身的复杂性, 不同算法的时间复杂度、空间复杂度和算法的稳定性四个方面。

不同的排序方法其算法的复杂性也不同, 一般而言, 算法越简单其程序的执行效率也就越低, 算法复杂的排序那么它的执行效率就要高一些。对用户来说, 都希望排序算法的效率要高一些, 而对开发者来说大都喜欢采用比较简单的和运行比较稳定的方法来解决问题。

时间复杂度:算法中基本操作重复执行的次数是问题规模n的某个函数, 用T (n) 表示, 若有某个辅助函数f (n) , 使得当n趋近于无穷大时, T (n) /f (n) 的极限值为不等于零的常数, 则称f (n) 是T (n) 的同数量级函数。记作T (n) =O (f (n) ) , 称O (f (n) ) 为算法的时间复杂度[1]。

空间复杂度与时间复杂度类似, 空间复杂度是指算法在计算机内执行时所需存储空间的度量。记作:S (n) =O (f (n) ) 。

排序算法的稳定性:假定在待排序的记录序列中, 存在多个具有相同的关键字的记录, 若经过排序, 这些记录的相对次序保持不变, 即在原序列中, ri=rj, 且ri在rj之前, 而在排序后的序列中, r仍在rj之前, 则称这种排序算法是稳定的;否则称为不稳定的。

3、几种常用的排序算法思想及特点

排序方法为外排序和内排序, 这里分析的是几种常用的内部排序方法。

3.1 冒泡排序:

思想:两两比较相邻待排序数据元素的大小, 发现两个数据元素的次序相反时即进行交换, 每进行一轮比较, 可得出一个最值, 直到所有记录都已排好序为止。

特点:平均时间复杂度为O (n2) ;空间复杂性为O (1) ;稳定性为稳定。

3.2 简单选择排序

思想:与冒泡法相类似, 每一趟在n-i+1 (i=12, …, n-1) 个记录中选取关键字最小的记录作为有序序列列中第i个记录。直到全部待排序的记录排完。

特点:平均时间复杂度为O (n2) ;空间复杂性为O (1) ;稳定性为不稳定。

3.3 堆排序 (Heap Sort)

思想:是指利用堆积树 (堆) 这种数据结构所设计的一种排序算法。堆积树是一个近似完全二叉树的结构, 并同时满足堆积属性:即子结点的键值或索引总是小于 (或者大于) 它的父节点。

特点:平均时间复杂度为O (nlogn) ;空间复杂性为O (1) ;稳定性为不稳定。

3.4 直接插入排序 (Insertion Sort)

思想:将一个记录插入到已排好序的有序表中, 从而得到一个新的、记录数增1的有序表。

特点:平均时间复杂度为O (n2) ;空间复杂性为O (1) ;稳定性为稳定。

3.5 希尔排序

思想:希尔排序 (Shell Sort) 是插入排序的一种。是针对直接插入排序算法的改进。该方法又称缩小增量排序, 因DL.Shell于1959年提出而得名。先将整个待排记录列分割成为若干子序列分别进行直接插入排序, 待整个序列中的记录“基本有序”时, 再对全体记录进行一次直接插入排序。

特点:平均时间复杂度为O (n3/2) ;空间复杂性为O (1) ;稳定性为不稳定。

3.6 快速排序 (Quick Sort)

思想:通过一趟排序将要排序的数据分割成独立的两部分, 其中一部分的所有数据都比另外一部分的所有数据都要小, 然后再按此方法对这两部分数据分别进行快速排序, 整个排序过程可以递归进行, 以此达到整个数据变成有序序列。

特点:平均时间复杂度为O (nlog n) ;空间复杂性为O (log n) ;稳定性为不稳定。

3.7 归并排序

思想:先简单地将待排序序列划分为两个子序列, 然后分别对每个子序列递归排序, 最后将排好的子序列合并。

特点:平均时间复杂度为O (nlog n) ;空间复杂性为O (n) ;稳定性为稳定。

4、各种排序算法的实验时间对照

为了更加直观观察不同算法的时间代价, 本实验设计方法采用C++来实现以上各种算法, 利用随机函数rand () 给数组赋值, rand是一个产生 (0至36635) 范围均匀分布随机数的函数。先调用QueryPerformanceFrequency () 函数获得计算机内部计时器的时钟频率, 接着在执行不同排序算法之前和执行完之后分别调用QueryPerformanceCounter () , 利用两次获得的计数之差和时钟频率, 就可以计算出事件经历的精确时间。事先应保证在同级待排数组中的元素值是相同的, 排序过程中的机器环境不变, 多运行几次取平均值最佳。本程序的测试硬件环境为:CPU为Intel (R) Celeron (R) E3400 2.6GHz, 内存2.0GB DDR3;软件环境为:VC6.0和WinXP。对不同规模的数组在各种排序算法中所进行的时间代价如表1所示, 表1所得数据是在不同算法下相同数组规模的待排数据在程序运行5次所花时间得到的平均值。由于冒泡排序、选择排序和插入排序在大规模数据下花费的时间呈指数级增长, 故在106和107数量级下未进行测验。

通过表1所得的数据进行分析可以得出以下几点:

1) 在待排数据量少的情况下 (数组规模为102以内) , 不同排序算法所花的时间差不多, 没有特别明显的优势。

2) 对于同一种排序算法, 随着待排数据数量的增加, 所花费的时间也相应的增加, 其中前三种每增加一个10倍数据, 所需时间增加102倍数据, 后面四种排序算法每增加一个10倍数据, 所需时间增加也为10倍级数。

3) 随着待排数据的增加, 前三种排序算法速度显得越来越慢, 特别明显, 后面四种算法虽然感觉时间也在增加, 但并不是特别明显。

4) 前三种排序算法的时间复杂度是一个级别的, 后三种排序算法又是另一个级别的。

5、结论

前面通过对各自排序算法的思想、特点及排序过程的理论分析, 结合表1的实验数据, 不难发现, 它们的平均时间复杂度O (nlog n) 要比O (n2) 快, 但是算法本身复杂度相对来说要复杂些, 时间复杂度是考查排序算法性能的一个重要指标, 当然, 在实际生活中, 对于选择哪种排序算法, 我们还要考虑它的空间复杂度和稳定性。一般来说, 我们在选择一种排序算法时应从以下几个方面来进行考虑:

1) 在少规模数 (104以内) 的情况下, 我们一般考虑算法相对较简单的冒泡、选择或插入排序。

2) 在大规模数 (105以上) 的情况下, 我们应考虑算法较为复杂的堆排序、希尔排序、快速排序和归并排序。

3) 对于一些实际情况的排序, 如果需要考虑算法的稳定性, 对于第1点的少规模数来说, 冒泡排序和插入排序是稳定的, 而选择排序是不稳定的。对于第2点的大规模数来说, 归并排序是稳定的, 而堆排序、希尔排序和快速排序是不稳定的。

4) 排序算法所花的辅助空间情况来考虑, 归并排序为O (n) , 快速排序为O (logn) , 其它均为O (1) 。

5) 对于不同的程序设计者来说, 根据个人喜好、客户特点、系统环境等实际情况来进行选择不同的排序算法。

参考文献

[1]许卓群, 杨冬青, 唐世渭, 等数据结构与算法[M].北京:高等教育出版社, 2005.

[2]严蔚敏, 吴伟民.数据结构[M].北京:清华大学出版社:2007.

[3]曹衍龙, 林瑞仲, 徐慧.C语言实例解析[M].北京:人民邮电出版社, 2007:94-117.

[4]唐艳琴:李清:李卫卫.排序算法探讨[J].现代计算机.2010.12:64-66

排序分析法 第10篇

现实中,很多政府组织、商业机构、医疗系统等等拥有一些同质的运作单元,消耗同种类的一组投入要素以制造同种类的一组产出要素。比如对于同级别高等学校的科研绩效进行考评和比较时,科研活动就是一项多投入(包括人力、经费等)、多产出(包括学术论文与专著、知识产权、成果转化等)的复杂过程[1]。这些运作单元在数据包络分析(data envelopment analysis,DEA)的理论体系下就是一组决策单元(decision making unit,DMU)。对于决策单元在绩效表现上进行区分和排序一直是管理决策者的兴趣所在,也是DEA方法尤为重要的一个研究课题。

自1978年Charnes,Cooper和Rhodes创建第一个数据包络分析模型CCR[2]以来,DEA方法在理论和应用两个方面都有了长足的发展并取得许多有价值的成果[3,4,5,6,7,8,9]。Cook和Seiford系统归纳了DEA理论自创建起三十余年来,所涌现的重要理论成果和代表性模型[10]。近几年来,DEA更是被应用到了越来越广泛的领域,比如对铁路系统[11]、连锁酒店[12]的评价以及夏季奥运会参赛国家的效能分析[13,14,15]。应用DEA方法对决策单元(DMU),特别是被CCR模型[2]评价为有效的DMU进行排序一直以来都得到很多学者的关注和研究兴趣。

传统的DEA模型比如CCR模型,往往只能将决策单元分为有效和非有效两大类,非有效DMU可以依据其效率值进行排序,但是对于有效DMU而言,效率值都是1,仅仅依靠传统效率值就没有办法进一步区分了。特别是当DMU数量较小,或者与DMU个数相比而言,投入与产出指标的数目过大,那么在传统DEA模型的评价下,较多数量的DMU都会被界定为有效。另一方面,在传统DEA模型中,用于计算效率值的权系数只在对被评价单元最为有利(最大化其效率值)的特定范围内取值,因而容易出现夸大优势、回避不足的问题。上述的这些弊端造成了传统DEA模型没有办法完全区分并排序所有有效DMU.

而对所有平行级别上的同类型业务单位在绩效表现上进行细致的分析比较,在实际的管理决策过程中是非常有意义的,有助于决策者挑选出业绩最优的一个或若干个单位,并对每个业务单位相对表现的优劣和重要性有一个更加清楚、客观的认识,同时也有助于对一些重要的管理决策(比如如何进一步改善绩效)进行分析与判断。比如,超市经理可以基于一些基本数据,针对旗下所有同级别连锁超市的运营业绩进行评价和排序,并以此作为研究如何进一步提升经营绩效的出发点。

为了解决传统DEA方法区分能力稍弱的这一不足,很多学者对DEA模型加以适当的改进和完善,提出了各种新的模型和方法[16,17,18,19,20,21,22]以改善DEA方法对于决策单元的区分能力,实现对有效DMU的排序。Adler,Friedman和Sinuany-Stern[4]详细回顾总结了DEA理论框架下的各种排序方法,并将这些方法划分为六个基本类别,包括交叉效率排序法(cross-efficiency method),超效率排序法(super-efficiency method),基于标杆排序法(benchmarking-based method),多元统计技术排序法(multivariate statistical techniques),非有效性排序法(proportional measures of inefficiency),结合偏好信息与多目标决策理论的DEA排序法(DEA approach combined with preferential information and MCDM,multiple-criteria decision methodologies)。

其中,Andersen和Petersen[16]提出超效率技术,将待评价DMU从参考集和DEA对偶线性规划中剔除后再评价其效率。超效率模型允许被评价单元的效率值大于1,从而可以在一定程度上实现有效决策单元之间的差异化。虽然超效率模型与传统DEA模型相比,提高了对决策单元的评价能力,但是正如一些学者[23,24,25]所指出的,超效率模型在一些特殊情况下会失效,比如,在非CRS假设下可能没有可行解[25],Zhu[23]也指出,如果在数据中出现特定的零值,那么超效率CCR模型也会存在无解的情况。另外,在一些特定情况下,超效率模型会对数据的微小变化相当灵敏,从而可能导致模型的求解结果及相应的排序结果缺乏稳定性。

针对Andersen和Petersen[16]的超效率模型所可能出现的无解情况,不少学者从不同研究角度出发提出了各种改善方法。其中,Cook,Liang,Zha和Zhu[26]为前沿面DMU定义了一种有效状态稳定性的指标,用于量化在标准超效率模型无解的情况下有效DMU的超效率。而Tone[27]建立了基于投入-产出松弛变量(slacks-based measure,SBM)的效率,并进一步讨论了SBM超效率模型[19],利用求解模型而得到的超效率结果对有效决策单元进行区分和排序。Du,Liang和Zhu[28]将Tone[19]的SBM超效率模型推广到DEA加性(additive)模型[29]的架构之上,建立了SBM加性超效率DEA模型,并采用各种不同的基于松弛变量的目标函数。直接使用松弛变量来刻画的效率结果,有助于更清楚地考察每一种投入与产出指标的非有效性,也有利于深入了解与其它DMU相比较,是哪一种或哪几种投入、产出变量导致了某个特定DMU的非有效性。

另一方面,Jahanshahloo,Junior,Lotfi和Akbarian[21]针对强有效(strong efficient)决策单元建立了一种新的排序系统,提出了一种与非有效DMU相关的度量方法,来量化强有效DMU对所有非有效DMU的影响程度。Jahanshahloo,Junior,Lotfi和Akbarian[21]认为将待评价的强有效DMU从参考集中剔除后,能够使得有效前沿面越靠近非有效DMU,或者对非有效DMU的CCR效率值影响越大,那么该强有效DMU就被认为越有效。虽然Jahanshahloo,Junior,Lotfi和Akbarian[21]提出的方法在对强有效DMU排序上的可行性很强,但是对于非强有效DMU却会出现失效的情况[30]。针对这一不足,Du,Liang,Yang,Bi和Yu[30]提出了一种量化所有有效DMU(包括强有效和非强有效)影响力的度量方法。不同于Jahanshahloo,Junior,Lotfi和Akbarian[21]只考虑强有效DMU对于所有非有效DMU效率的影响,Du,Liang,Yang,Bi和Yu[30]关注每一个有效DMU(不论是否强有效)对其它所有DMU(不论是否有效)的影响程度,从而可以有效地区分所有DMU。

综合基于松弛变量的效率[27]和对DMU影响力[21,30]这两种思想的优势之处,本文也直接使用投入-产出松弛变量来刻画效率,并考虑有效DMU对于其它DMU的影响程度。具体做法是定义一种基于松弛变量的δ-效率值,将所有DMU分为δ-有效和非δ-有效两类。非δ-有效DMU的排序由其各自的δ-效率值大小决定;对于δ-有效的DMU,则考虑将其从参考集中剔除后,对其它DMU的影响程度,并根据影响程度的大小对δ-有效DMU进一步排序。

2 基于松弛变量的δ-效率

假设现有n个DMU使用相同的一组投入要素去生产相同的一组产出要素。记第j个决策单元为DMUj,j=1,2,…,n,其第i种投入要素的投入量为xij,i=1,2,…,m,第r种产出要素的产出量为yrj,r=1,2,…,s.显然,对于任何的i,r,j来说,均有xij≥0和yrj≥0并且对于任何一种投入或产出来说,至少存在一个DMU的该种投入量或产出量是非零的,即

.由所有DMU现有的投入-产出组合组成的集合称为参考集,由参考集生成的生产可能集P定义为

基于上述生产可能集P,某特定决策单元DMUo(xio,i=1,2,…,m;yro,r=1,2,…,s)可表示为如下形式

其中λj,sio,s+r0≥0,sio称为投入i的松弛变量,表示DMUo在第i种投入要素上的过剩量,s+r0称为产出r的松弛变量,表示DMUo在第r种产出要素上的不足量。

Tone定义了一种基于上述松弛变量(slack-based measure,SBM)的效率[27],直接将投入和产出的松弛变量转化为取值于0和1之间、且随松弛变量的增加而单调递减的效率值ρo*.

上述SBM效率值定义的前提假设是所有DMU的任一投入量和产出量均为正值,即对于任何i,r,j,均有xij>0和yrj>0。若某DMU存在零投入量或零产出量,则需要特殊处理[27]。为了避免这种不便,使得定义的效率值具有更为广泛的适用性,采用如下指标δo来度量DMUo的效率值

其中,Ri-=mjax{xij}>0,i=1,2,…,m;Rr+=mjax{yrj}>0,r=1,2,…,s.

不难证明,δo随着松弛变量sio或s+r0的增加而单调递减;另一方面,由于,并且xij,λj≥0,j=1,2,…,n,故xio≥sio,进而Ri-≥xio≥sio,0≤δo≤1。

类似于模型(3),以指标δo作为目标函数,定义DMUo基于松弛变量的δ-效率值为以下分式规划(5)的最优解δo*.

规划(5)的可行域是非空的,因为至少存在(δo=1;λo=1,λj=0,j=1,2,…,n,j≠o;sio=0,i=1,2,…,m;s+ro=0,r=1,2,…,s)是规划(5)的一组可行解。

记规划(5)的一组最优解为(δo*;λj*,j=1,2,…,n;sio-*,i=1,2…,m;sro+*,r=1,2,…,s),显然有0≤δo*≤1,定义δ-有效为:

定义1(δ-有效)若决策单元DMUo(xio,i=1,2,…,m;yro,r=1,2,…,s)的δ-效率值为1,即δo*=1,那么DMUo被称为是δ-有效的;若δo*<1,那么DMUo被称为是非δ-有效的。

不难发现,DMUo是δ-有效的,等价于其所有松弛卞量在规划(5)的最优解均为零,即DMUo既没有任何投入上的过剩,也没有任何产出上的不足。

利用Charnes-Cooper变换[31],分式规划(5)可以等价转化为如下线性规划(6)。

令是线性规划(6)的一组最优解,则由变换规则可知,是分式规划(5)的一组最优解。

3 基于δ-效率值的排序

对于非δ-有效的DMU,可以根据求解模型(6)所得到的δ-效率值进行排序;对于δ-有效的DMU,本文从与Jahanshahloo,Junior,Lotfi和Akbarian[21]与Du,Liang,Yang,Bi和Yu[30]类似的思想出发,考虑该其对其它DMU(包括有效与非有效)影响程度的大小,即对于每个δ-有效DMU,计算将其从参考集中剔除前后,所有非δ-有效DMU效率值的变化绝对量、以及对其它δ-有效DMU的绝对影响程度,相应的结果将作为区分和排序δ-有效DMU的依据。

首先可以证明,从参考集中剔除任何一个DMU都不会减少其它DMU的δ-效率值,即

定理1对于任何两个决策单元DMUo和DMUp(p≠o),记DMUo的δ-效率值为δ*o,从参考集中剔除DMUp后得到的新δ-效率值为δ*o,p,则δ*o和δ*o,p满足δ*o,p≥δ*o.

证明从参考集中去掉DMUp后,DMUo的新δ-效率值求解如下:

类似于规划(5),规划(7)也可以通过Charnes-Cooper变换[31]转化为线性规划。这里,只要p≠o,规划(7)的可行域一定是非空的,因为至少存在是规划(7)的一组可行解。记规划(7)的一组最优解为,从该最优解出发,不难看出是规划(5)的一组可行解,故,这里δo*为DMUo通过规划(5)得到的δ-效率值。证毕。

从定理1出发,有

推论1如果DMUo是δ-有效的,那么对于任何p=1,2,…,n且p≠o,有δ*o,p=1,其中δ*o,p代表从参考集中剔除DMUp后DMUo的新δ-效率值。

证明由于DMUo是δ-有效的,故其δ-效率值δ*o=1。又由定理1可知δ*o,p≥δ*o=1,且δ*o,p≤1,所以δ*o,p=1。证毕。

推论1说明如果某决策单元DMUo是δ-有效的,那么从参考集中去掉其它任一DMU后,DMUo仍然是δ-有效的,其δ-效率值不会受到其它DMU是否在参考集中的影响。但是,对于非δ-有效的DMU来说,参考集中元素的变化很可能对其δ-效率值产生影响。因此,在考虑δ-有效DMU对于非有效DMU的影响程度时,只需计算将其从参考集中剔除前后,所有非有效DMU的δ-效率值的变化。但是正如Du,Liang,Yang,Bi和Yu[30]所指出的,仅仅考虑对于非有效DMU的影响程度只能够区分对有效前沿面形状产生实质性影响的强有效DMU(如图1中前沿面DMU 3,4,5),却无法区分那些普通有效(有效却非强有效)的DMU(如图1中前沿面DMU 7,8,9)。这是因为普通有效DMU不具备改变有效前沿面的潜能,即使将这些点中的一个或若干个从前沿面上剔除也不会导致有效前沿面形状或位置的改变。因此,普通有效DMU对于其它DMU的δ-效率值也不产生任何影响,所以仅根据对于非有效DMUδ-效率值的改变量这一项指标,就无法区分普通有效DMU.

针对上述情况,采用Du,Liang,Yang,Bi和Yu[30]的做法,不仅比较对非有效DMUδ-效率值的影响,也同时考虑对其它有效DMU的影响。

(1)对所有非有效DMU的影响

记J={1,2,…,n},所有δ-有效DMU组成的集合为Je,所有非δ-有效DMU组成的集合为Jn,显然Je∪Je=J.假设a∈Jn,b∈Je,记DMUa通过规划(5)得到的δ-效率值为δa*,从参考集中剔除DMUb后,利用规划(7)得到的新δ-效率值为δa*,b,那么(δa*,b-δa*)可以反映DMUb对DMUaδ-效率值的影响程度,进一步地,DMUb对所有非δ-有效DMU在δ-效率值上的影响程度可以表示为

根据定理1,有δa*,b≥δa*,故易见

推论2对于任何b∈Je,均有Ib≥0成立。

(2)对其它有效DMU的影响

假设DMUc是不同于DMUb的另一个有效决策单元,这里b,c∈Je并且b≠c.根据式(8),DMUc对所有非有效DMU的影响程度可以度量为。当从参考集中剔除DMUb后,DMUc对所有非有效DMU效率的影响程度变为

其中δ*a,bc表示同时将DMUb和DMUc从参考集中剔除后,DMUa的新δ-效率。δ*a,bc可以通过求解如下的线性规划(10)得到:

Ic,b与Ic之间的绝对差可以反映DMUb对于DMUc在影响力(对非δ-有效DMU)上的影响程度,故可以将这一绝对差看作是有效DMUb对于另一有效DMUc的影响程度,具体计算形式如下:

在式(11)的基础上,Je中任何一个有效DMU比如DMUb,对于Je中其它所有有效DMU的影响程度,记为E,可以度量如下:

(3)对其它所有DMU的影响

总结前文的工作,对于任一δ-有效DMU,式(8)和式(12)分别度量了其对于非有效DMU和其它有效DMU的影响程度,即Je中任何一个有效DMU比如DMUb,对于其它所有DMU的影响程度,用T表示,可以量化为如下所示I与E之和:

所有δ-有效DMU可以根据式(13)所计算的指标T的大小排序,指标T越大,说明对其它DMU的影响程度越大,则排序越靠前。

4 算例分析与实际应用

4.1 算例分析比较

为了便于同Tone提出的SuperSBM模型[19]的排序结果相比较,采用相同的算例,如表1所示。现有7个DMU,每个DMU消耗两种投入要素以生产一种产出要素。通过求解规划(6),每个DMU的δ-效率值见表1的第5列,其中,DMUC,D和E是δ-有效的。对于非δ-有效的DMUA,B,F和G,依据其δ-效率值的大小进行排序。同时利用规划(7)和规划(10)分别计算将有效DMUC,D和E一一和两两剔除出参考集后,非有效DMU的新δ-效率值δ*a,b和δ*a,bc,其中a=A,B,F,G;b,c=C,D,E,具体结果如下:δ*A,C=0.85714,δ*A,D=1,δ*A,E=0.875,δ*B,C=0.63889,δ*B,D=0.76923,δ*B,E=0.63158,δ*F,C=1,δ*F,D=0.91667,δ*F,E=0.91667,δ*G,C=0.91667,δ*G,D=0.83333,δ*G,E=0.83333,δ*A,CD=1,δ*A,CE=0.875,δ*A,DE=1,δ*B,CD=0.8125,δ*B,CE=0.63889,δ*B,DE=0.76923,δ*F,CD=1,δ*F,CE=1,δ*F,DE=0.91667,δ*G,CD=0.91667,δ*G,CE=0.91667,δ*G,DE=0.83333。

将以上结果分别代入式(8)和式(12),计算δ-有效的DMUC,D和E对所有非有效DMU在δ-效率值上的影响程度指标I(如表1第6列所示),以及对所有其它有效DMU的影响程度指标E(如表1第7列所示):

将有效DMU的两种影响能力如式(13)中叠加,得到TC=IC+EC=0.20994,TD=ID+ED=0.33379,TE=IE+EE=0.03572。

根据指标T的大小对有效DMUC,D和E进一步排序,所有DMU的排序结果见表1的第9列,第10列则给出了SuperSBM[19]对该算例的排序结果。

通过与Tone的SuperSBM[19]排序结果相比较,可以发现两种方法对于δ-有效DMU的排序存在着较明显的差异,主要表现在对于DMUE的评价上。SuperSBM[19]认为DMUE具有最大的SBM超效率值,是最优的决策单元;而在本文基于影响力的排序体系下,相比较于其它有效DMU而言,DMUE对于其它DMU的影响程度是最弱的,排在δ-有效DMU的末位。主要原因是两种排序方法对有效DMU重要性的认知角度不同:SuperSBM[19]关注于将某有效DMU从有效前沿面剔除后,对该DMU自身效率的影响;而本文方法则考虑对其它DMU(包括有效和非有效DMU)总的影响程度。可以注意到,δ-有效DMUC和D在两种方法下的相对位置或重要程度是一致的。

另一方面,两种方法对于非δ-有效DMU的排序基本一致,特别值得指出的是,DMUA和G拥有相等的SBM效率值[27],而本文的δ-效率值却有效区分了DMU A和G.

4.2 实例分析

本节将本文提出的基于松弛变量的(slacks-based measure of,SBM)影响力的排序方法应用于表2所示的伊朗20家银行分支的实例,这组数据先后被Amireimoori和Kordrostami[32],Jahanshahloo,Junior,Lotfi和Akbarian[21]以及Du,Liang,Yang,Bi和Yu[30]分析过。三种投入指标包括员工数量、电脑终端数目和分支银行面积,产出指标也有三种,分别是存款、放贷和收费,Amireimoori和Kordrostami[32]中对数据作了更为详细的描述和解释。

首先求解规划(5)得到每个DMU的δ-效率值,结果见表2的第8列,其中,DMU 1,4,7,12,15,17和20是δ-有效的。对于非δ-有效的DMU 2,3,5,6,8,9,10,11,13,14,16,18,19,可依据其δ-效率值进行排序。其次,利用规划(7)计算将δ-有效DMU 1,4,7,12,15,17,20分别一一或者两两剔除出参考集后,各非有效DMU的新δ-效率值δa*,b和δa*,bc,其中a∈Jn,b,c∈Je,Je={1,4,7,12,15,17,20},Jn={2,3,5,6,8,9,10,11,13,14,16,18,19}。

将以上结果分别代入式(8)和式(12)中,计算δ-有效DMU 1,4,7,12,15,17,20对所有非有效DMU在δ-效率值上的影响程度指标I,以及对其它有效DMU的影响程度指标E,即

将有效DMU的两种影响能力指标I和E如式(13)中叠加,得到反映有效DMU总影响程度的量化指标T,见表2的第9列所示,具体计算结果如下:

根据指标T的大小对δ-有效DMU 1,4,7,12,15,17,20进一步排序,所有DMU的排序结果见表2的第10列,第11和12列则分别给出Jahanshahloo,Junior,Lotfi和Akbarian[21]和Du,Liang,Yang,Bi和Yu[30]对于该组数据的排序结果。

比较三种方法下的排序结果,可以看到,在本文基于SBM影响力的排序体系下,所有DMU,尤其是7个有效DMU,都得到了完全的区分。与Jahanshahloo,Junior,Lotfi和Akbarian[21]和Du,Liang,Yang,Bi和Yu[30]提供的结果相比较发现,本文方法在非δ-有效DMU 2,6,9,16,19的排序上与另外两种方法存在比较大的差异,主要原因是对这些决策单元进行排序时,本文是根据基于投入-产出松弛变量的δ-效率值,而另外两种方法[21,30]则是比较按同比例变化(radial)的CCR效率值。

另一方面,在δ-有效决策单元中,DMU 4,7,12,15,17在三种方法下的排列位置都是完全一致或者非常相近的;只有DMU 1和20的排序存在一定差异,主要是由于本文方法不仅类似于Du,Liang,Yang,Bi和Yu[30],比Jahanshahloo,Junior,Lotfi和Akbarian[21]的方法额外考虑了对于其它有效DMU的影响程度,并且与上述两种方法中的传统CCR效率所不同的是,本文中使用的是直接利用投入-产出松弛变量来度量的δ-效率,因此,效率定义的不同也会导致影响程度在量化上出现差异。值得注意的是,三种排序方法下,DMU 15,4,7都是最优的前三位决策单元,是20家银行分支中绩效表现最好的三家,可以为其它银行改善经营起到标杆作用,为管理决策者提供合理有效的参考信息。

5 结束语

本文提出了一种基于松弛变量的对所有决策单元(DMU)进行排序的新方法,通过定义δ-效率值和考虑δ-有效DMU对其它DMU的影响程度,可以有效区分那些被传统DEA模型定义为有效的DMU,实现对所有DMU的排序和比较。通过对于算例和实例的应用,本文方法展现了较高的可操作性,得到的排序结果也具有一定的合理性和比较好的区分效果,可以为决策者提供合理的参考信息和较为有效的决策支持。

排序专题练习 第11篇

1.(2009全国卷I)依次填进下面一段文字横线处的语句,衔接最恰当的一组是( )

狗是忠义、勇敢而又聪明的动物。_____,_____ 。_____,_____。_____ ,_____,使狗成为人的得力助手。

①专门训练军犬、警犬,把狗用于军事、案件侦破等方面

②它的嗅觉细胞数量是人的24倍,可以分辨大约两万种不同的气味

③比如牧民的狗,为了保护羊群,敢于同恶狼猛斗

④人们充分利用狗的这种特殊的天赋

⑤狗可以听到10万赫兹以上的声音

⑥代替主人做一些危险的事

A. ③②①⑥⑤④ B. ③⑥⑤②④①

C. ⑤④①③②⑥ D. ⑤②④⑥①③

2.(2009全国卷II)依次填入下面一段文字横线处的语句,衔接最恰当的一组是()

“中国结”的全称是“中国传统装饰结”,_____ ,_____,_____,_____ ,_____ ,_____ ,因此绳结也是中国古典服饰的重要组成部分。

①人们很早就开始用绳结来装饰器物,为绳结注入了美学内涵

②当时的绳结是人们日常生活中的必备用具

③“中国结”的起源可能追溯到上古时期

④它是中华民族特有的一种手工编织工艺品,具有悠久的历史

⑤此外,绳结还被应用在人们的衣着、佩饰上

⑥同时也具有记载历史的重要功用,因此在人们的心目中很神圣

A. ①②④⑥⑤①B. ③①②⑤⑥④

C. ④①③②⑤⑥D. ④③②⑥①⑤

3.(2009广东卷)根据语境,下列排序最恰当的一项是()

示现本是佛教用语,指的是佛菩萨应机缘而现种种化身_____。_____ 。如杜甫《月夜》诗:“今夜鄜州月,闺中只独看。”“闺中只独看”,就是诗人运用示现修辞手法来描绘想象中的情景。_____。_____。预言的示现,同追述的示现相反,是把未来的事情说得好像摆在眼前一样。_____。示现作为一种修辞现象,值得我们关注。

①修辞学中的示现是指把实际上不见不闻的事物,说得如闻如见的一种修辞手法

②至于悬想的示现,则是把想象中的事物说得如在眼前一般,同时间的过去未来全然没有关系

③后来人们把这一词语用在修辞学中,称作一种辞格的名称

④在修辞学中,示现一般分为三类:追述的、预言的和悬想的

⑤追述的示现,是把过去的事迹说得仿佛还在眼前一样

A. ①④⑤②③B. ①③④⑤②

C. ③①④⑤②D. ③④⑤①②

【牛刀小试】

4. 能与下面这段话恰当衔接的一句是()

“木桶理论”“短板效应”的意思是:一个由很多木板箍成的滴水不漏的木桶,如果仅一块木板很长并不能多盛水,而有一块木板很短的话,它的最大盛水量就只能达到最短木板的上沿处。著名教练陈运鹏把制约游泳成绩的八个因素比作木板,__________ 。

A. 只有八个因素都突出,才能迅速提高运动员的整体成绩

B. 只有一个因素很突出,并不能迅速提高运动员的整体成绩

C. 如果有一个因素欠缺,那将影响运动员的整体成绩

D. 如果八个因素都欠缺,必将影响运动员的整体成绩

5. 填入下面横线处的语句,衔接恰当的一项是()

__________巍峨挺拔的秦岭消没在浊雾里;田堰层叠的南塬模糊了;美丽如锦的渭河平原也骤然变得丑陋而苍老。

A. 天空阴沉了,满天是厚厚的、低低的、灰色的浊云。

B. 在夕阳的辉映下,满天彩云飘动。

C. 夜幕下垂,远山渐渐隐没了,田野像死一般寂静。

D. 北风呼呼地叫着,枯草落叶满天飞扬,树枝都成了光胳膊。

6. 填入下面横线处的句子,与上下文衔接得最恰当的一组是()

弘扬优秀民族文化必须和针砭、剔除传统文化中的糟粕同时进行,不能顾此失彼。民族传统文化是一个恢宏博大的体系,往往精华与糟粕并存,优秀与陋劣纠缠,要吸收其中的精华、优秀,就不能不剔除、针砭相随伴生的糟粕、陋劣。比如,孔孟儒学、宋明理学作为学术体系来说,不乏有价值的真知灼见,但作为意识形态来说,却透着令人窒息的浓厚的封建气息。_______________

A. 从这个意义上讲,我们在研究孔孟儒学、宋明理学过程中,必须“取其精华,去其糟粕”。

B. 因此,我们在剔除传统文化糟粕的过程中,也就等于弘扬了优秀民族传统文化。

C. 从这个意义上讲,只有剔除、针砭传统文化的糟粕、陋劣,才有可能借鉴、吸收传统文化的优秀、精华。

D. 因此,弘扬优秀民族文化的过程,实际上也是剔除、针砭文化糟粕的过程。

7. 调整下列①~⑤句话的顺序,填在下面的横线上,最恰当的一项是( )

认识落后,才能去改变落后。__________我们不仅因为今天的科学技术落后,才需要向外国学习,即使我们的科学技术赶上了世界先进水平,也还要学习人家的长处。

①任何一个民族,一个国家,都需要学习别的民族、别的国家的长处,学习人家先进的科学技术。

②但是,独立自主不是闭关自守,自力更生不是盲目排外。

③学习先进,才有可能赶超先进。

④科学技术是人类共同创造的财富。

⑤提高我国的科学技术水平,当然必须依靠我们自己的努力,必须发展我们自己的创造,必须坚持独立自主、自力更生的方针。

A. ③①②⑤④_____ B. ③⑤②④①

C. ⑤②①③④_____ D. ①③②④⑤

8. 填入下面横线处的语句,与上下文衔接最好的一项是( )

1972年中美两国的建交公报中有这样一段话:“美国方面认识到,台湾海峡两边的中国人都认为,只有一个中国,_______________。”

A. 台湾是中国的一个省

B. 台湾是中国的一部分

C. 台湾是中国不可分割的一部分

D. 台湾自古以来就是中国不可分割的一部分

9. 填入下面横线处的语句,与上下文衔接最好的一项是( )

文字成为记录文化的有效工具是从意音文字开始的。美索不达米亚的楔形文字,埃及的圣书字,中美洲的玛雅文字,中国的汉字都是意音文字,_______________ 现在,绝大部分著名的意音文字都成为历史的陈迹了,只有汉字作为意音文字在今天的世界上巍然独存。

A. 它们在各自的地区留下了早期灿烂文化的纪录。

B. 它们辉煌了很长一段时间,大部分已经销声匿迹。

C. 使用这些文字的地区都是人类早期发源地。

D. 意音文字后来被具有音节特点的拼音文字取代了。

10. 填入下面横线处的语句,与上下文衔接最好的一项是()

数十年来,美国汉学界一直流行着一种根深蒂固的偏见,那就是__________ 因此,在大学里,中国现代文学家常常被推至边缘之边缘,美国的中国文学研究形成“传统”与“现代”的畸形对立。

A. 轻视中国现代文学,认为它不值得花大力气去研究。

B. 重视中国古典文学,认为它是中国文化的精华。

C. 古典文学高高在上,现代文学却不受重视。

D. 古典文学高高在上,现代文学不可与之比肩。

11. 依次填入下列横线处的语句,与上下文衔接最恰当的一组是( )

精读之外,还需要略读。就教学而言,______________ ;但就效果而言,__________。实践证明,有了精读的训练,__________,从而养成毕生不懈的浓厚阅读兴趣。

①略读是主体,精读只是补充

②精读是主体,略读只是补充

③精读是准备,略读才是应用

⑤精读是应用,略读才是准备

④我们就可以进行广泛的应用

⑥我们就可以进行广泛的略读

A. ①③⑤B. ②③⑥

C. ①④⑥D. ②④⑤

12. 把下列句子组成意思完整、前后衔接、语序最恰当的一段话。( )

①百般不能排解思情,不妨往诗文中寻个消遣处。

②王维的乡思亦有画意:来自绮窗前,寒梅着花未?

③从古至今,乡愁是诗人的惆怅。

④没有什么再像乡愁一样令我悲伤,这么美丽的文字,这么伤感的情怀,只有诗人才能表达。

⑤诗云:今夜月明人尽望,不知秋思落谁家。

13. 下列各项中最适合填在横线上的一项是 ( )

某校邀请著名学者刘教授来校讲学。在向全校师生作介绍时,校长的话中有这样一段:“刘教授是我校的校友,他长期从事学术研究,成果丰富,贡献卓著,去年当选为中国科学院院士。__________。”

A. 这既是他本人的荣耀,也是敝校的荣耀

B. 这既是他的光荣,也是我们学校的光荣

C. 这既是本校的自豪,也是他本人的自豪

D. 这既是他的骄傲,也是全国人民的骄傲

14. 依次填入下面一段文字横线处的语句,衔接最恰当的一组是( )

把一群人送到一个远离现代文明的荒岛上,让他们在“原始状态”下开始新生活。_____。_____。__________。_____。__________。

①结果可想而知,大家选择了公平

②因此结论是:在公平和效率之间,公平优先

③每个人对未来一无所知,不知道自己将来是穷还是富

④现在,让他们协商,建立一个他们心目中“公正”的社会

⑤因为不知道自己将来的收入如何,支持效率就可能承担饥饿的风险

A. ④②⑤③①B. ③④①⑤②

C. ①③⑤④②D. ①⑤③④②

15. 下列几个句子的顺序已经被打乱,请重新排列( )

①太清宫,又名下清宫或下宫,是宋太祖(公元960—967)为华盖真人刘若拙建的道场。

②明万历年间,太清宫近乎荒废。

③南京报恩寺的和尚憨山买下宫前的一块空地,建了一座海印寺。

④后海印寺被毁,又建了太清宫。

⑤元太祖成吉思汗的国师邱长春曾在此宫修道。

16. 下列几个句子的顺序已经被打乱,请重新排列( )

①大海里,闪烁着一片鱼鳞似的银波。

②一片片坐着、卧着、走着的人影,看得清清楚楚了。

③沙滩上,也突然明亮起来。

④它像一面光辉四射的银盘似的,从那平静的大海里涌了出来。

⑤是一轮灿烂的满月。

17. 给下列句子排出最恰当的顺序( )

①一方面,以娱乐为职能的大众文化得到蓬勃发展的机会。

②与此同时,文化领域却有全然不同的景观。

③问题是怎样产生的呢?

④九十年代的中国,商品大潮汹涌而起,给社会经济生活带来无限生气。

⑤一方面,一部分“曲高和寡”的精英文化则陷入举步维艰的境地。

⑥原因有多方面,其中之一就是文化的二重性。

参考答案

【经典回眸】

1. B(③是首句,作“勇敢而又聪明”的例子;⑤话题转换突兀,不能作首句;“天赋”是指狗的听觉与嗅觉,且④应还有下文,故④不能做结语)

2. D(④总说,排在第一;⑤承启后文,排在最后;①承启⑤;③②⑥注意里面的关键词“当时”“同时”)

3. C(③中的“后来”,照应前文的“本是”;①是对③具体阐释,例举杜甫诗句是为说明“修辞手法”,顺序应为③①;④⑤②是总分结构,④是总述句,后三句分别阐述“追述的”“预言的”“悬想的”,⑤②次序明显)。

【牛刀小试】

4. C(“木桶理论”强调的是欠缺的因素对整体的限制)

5. A(要注意景物的和谐一致,原文的景色是阴沉凄清的。B项感情基调不合;C项“渐渐”与“骤然”不合;D项描绘的北风、枯草等,与原文不协调)

6. D(D最能概括这段话,说明作者的观点)

7. B(③与“认识落后,才能去改变落后”句式特点相同,内容连贯,应放在一起;⑤②、④①是两个不可分割的语链)

8. B(这段文字涉及两国三方,表述应该采用中性的提法,使各方都能接受)

9. A(要紧扣“现在,绝大部分著名的意音文字都成为历史的陈迹了”)

10. C(要联系“美国的中国文学研究形成‘传统与‘现代的畸形对立”一句,注意此句论及的两个方面)

11. B(本段文字强调的重点是略读)

12. ③①⑤②④(③为总起句,放在段首;①承上启下,引出古诗文的列举;⑤②紧承其后,且顺序明显;④小结语段,照应首句)

13. B(刘教授的成功首先应该是他自己的光荣,然后才是带给学校的光荣,排除C项;刘教授是回到母校,故介绍他时不用“敝校”,排除A项;“全国人民”范围过大,排除D项)

14. B(③紧接题干的文句,陈述到荒岛后的现状,它与题干的文句共同构成一个情境;④是提供选择余地,①是作出选择,⑤是解释为什么会作出这一选择,②是得出结论,因此④①⑤②形成一个符合事理逻辑的句群)

15. ①⑤②③④(突破难点秘诀: 以时间、事物发展的先后为序,应抓住表示时间的词语。此题涉及时间的词语有:“宋太祖”“明万历年间”“建了”“又建了”“元太祖”,按时间先后可排出正确的顺序)

16. ⑤④①③②(突破难点秘诀:以空间为序,从上到下,从左到右,从外到内等。本题按“空间顺序”,从天上的“月亮”到地上的“大海”再到“海滩”)

17. ④②①⑤③⑥(突破难点秘诀:以人们认识事物的规律为序,由表及里,由浅入深,由感性认识到理性认识。寻找事物发展的规律,借助关联词是解决这种语序最常用的方法。本题⑤中有“则”字,凭语意排在①后;这几个句子是谈论一种社会现象产生的原因,据此思维顺序,②应排在④之后,⑥作为解答应排在提问的③之后)

几种常见排序算法思想及比较分析 第12篇

关键词:排序算法,经典思想,使用场景

1 常见排序算法思想分析

1.1 冒泡排序

冒泡排序是最简单的排序之一,其大体思想就是通过与相邻元素的比较和交换来把小的数交换到最前面。这个过程类似于水泡向上升一样,因此而得名。对剩下的序列依次冒泡就会得到一个有序序列。冒泡排序的时间复杂度为O(n^2)。

1.2 插入排序

插入排序不是通过交换位置而是通过比较找到合适的位置插入元素来达到排序的目的。相信大家都有过打扑克牌的经历,特别是牌数较大的。在分牌时可能要整理自己的牌,牌多的时候怎么整理呢?就是拿到一张牌,找到一个合适的位置插入。这个原理其实和插入排序是一样的。注意在插入一个数的时候要保证这个数前面的数已经有序。简单插入排序的时间复杂度也是O(n^2)。

1.3 快速排序

在实际应用当中快速排序确实是表现最好的排序算法。冒泡排序虽然高端,但其思想是来自冒泡排序,冒泡排序是通过相邻元素的比较和交换把最小的冒泡到最顶端,而快速排序是比较和交换小数和大数,这样一来不仅把小数冒泡到上面,同时也把大数沉到下面。快速排序是不稳定的,其时间平均时间复杂度是O(nlgn)。

1.4 堆排序

堆排序是借助堆来实现的选择排序,思想同简单的选择排序,以下以大顶堆为例。注意,如果想升序排序就使用大顶堆,反之使用小顶堆。原因是堆顶元素需要交换到序列尾部。首先,实现堆排序需要解决两个问题:(1)如何由一个无序序列键成一个堆?(2)如何在输出堆顶元素之后,调整剩余元素成为一个新的堆?

第一个问题,可以直接使用线性数组来表示一个堆,由初始的无序序列建成一个堆就需要自底向上从第一个非叶元素开始挨个调整成一个堆。

第二个问题,怎么调整成堆?首先是将堆顶元素和最后一个元素交换。然后比较当前堆顶元素的左右孩子节点,因为除了当前的堆顶元素,左右孩子堆均满足条件,这时需要选择当前堆顶元素与左右孩子节点的较大者(大顶堆)交换,直至叶子节点。我们称这个自堆顶自叶子的调整为筛选。

从一个无序序列建堆的过程就是一个反复筛选的过程。若将此序列看成是一个完全二叉树,则最后一个非终端节点是n/2取底个元素,由此筛选即可。

1.5 希尔排序

希尔排序是插入排序的一种高效率的实现,也叫缩小增量排序。简单的插入排序中,如果待排序列是正序时,时间复杂度是O(n),如果序列是基本有序的,使用直接插入排序效率就非常高。其基本思想是:先将整个待排记录序列分割成为若干子序列,分别进行直接插入排序,待整个序列中的记录基本有序时再对全体记录进行一次直接插入排序。希尔排序的特点是,子序列的构成不是简单的逐段分割,而是将某个相隔某个增量的记录组成一个子序列。由于前两趟的插入排序中记录的关键字是和同一子序列中的前一个记录的关键字进行比较,因此关键字较小的记录就不是一步一步地向前挪动,而是跳跃式地往前移,从而使得进行最后一趟排序时,整个序列已经做到基本有序,只要作记录的少量比较和移动即可,因此希尔排序的效率要比直接插入排序高。

希尔排序的分析是复杂的,时间复杂度是所取增量的函数,在大量实验的基础上推出当n在某个范围内时,时间复杂度可以达到O(n^1.3)。

1.6 归并排序

归并排序是另一种不同的排序方法,因为归并排序使用了递归分治的思想,所以理解起来比较容易。其基本思想是,先递归划分子问题,然后合并结果。把待排序列看成由两个有序的子序列,然后合并两个子序列,然后把子序列看成由两个有序序列……倒着来看,其实就是先两两合并,然后四四合并……最终形成有序序列。空间复杂度为O(n),时间复杂度为O(nlogn)。

1.7 桶排序

假设有一组长度为N的待排关键字序列K[1,…,n]。首先将这个序列划分成M个的子区间(桶)。然后基于某种映射函数,将待排序列的关键字k映射到第i个桶中(即桶数组B的下标i),那么该关键字k就作为B[i]中的元素(每个桶B[i]都是一组大小为N/M的序列)。接着对每个桶B[i]中的所有元素进行比较排序(可以使用快排)。然后依次枚举输出B[0],…,B[M]中的全部内容即是一个有序序列。

bindex=f(key)

其中,bindex为桶数组B的下标(即第bindex个桶),k为待排序列的关键字。桶排序之所以能够高效,其关键在于这个映射函数,它必须做到:如果关键字k1<k2,那么f(k1)≤f(k2)。也就是说B(i)中的最小数据都要大于B(i-1)中最大数据。很显然,映射函数的确定与数据本身的特点有很大的关系。桶排序的平均时间复杂度为线性的O(N+C),其中C=N×(log N-log M)。如果相对于同样的N,桶数量M越大,其效率越高,最好的时间复杂度达到O(N)。当然桶排序的空间复杂度为O(N+M),如果输入数据非常庞大,而桶的数量也非常多,则空间代价无疑是昂贵的,桶排序是稳定的。

1.8 基数排序

基数排序又是一种和前面排序方式不同的排序方式,基数排序不需要进行记录关键字之间的比较。基数排序是一种借助多关键字排序思想对单逻辑关键字进行排序的方法。所谓的多关键字排序就是有多个优先级不同的关键字。比如说成绩的排序,如果两个人总分相同,则语文高的排在前面,语文成绩也相同则数学高的排在前面……如果对数字进行排序,那么个位、十位、百位就是不同优先级的关键字,如果要进行升序排序,那么个位、十位、百位优先级一次增加。基数排序是通过多次的收分配和收集来实现的,关键字优先级低的先进行分配和收集。

2 结论

在前面的介绍和分析中文章提到了冒泡排序、选择排序、插入排序三种简单的排序及其变种快速排序、堆排序、希尔排序三种比较高效的排序。后面又分析了基于分治递归思想的归并排序还有计数排序、桶排序、基数排序三种线性排序。其实排序算法要么简单有效,要么是利用简单排序的特点加以改进,要么是以空间换取时间在特定情况下的高效排序。但是这些排序方法都不是固定不变的,需要结合具体的需求和场景来选择甚至组合使用,才能达到高效稳定的目的。没有最好的排序,只有最适合的排序。

下面就总结一下排序算法的各自的使用场景和适用场合:

(1)从平均时间来看,快速排序是效率最高的,但快速排序在最坏情况下的时间性能不如堆排序和归并排序。而后者相比较的结果是,在n较大时归并排序使用时间较少,但使用辅助空间较多。

(2)上面说的简单排序包括除希尔排序之外的所有冒泡排序、插入排序、简单选择排序。其中直接插入排序最简单,但序列基本有序或者n较小时,直接插入排序是好的方法,因此常将它和其他的排序方法,如快速排序、归并排序等结合在一起使用。

(3)基数排序的时间复杂度也可以写成O(d*n)。因此它最适用于n值很大而关键字较小的序列。若关键字也很大,而序列中大多数记录的最高关键字均不同,则亦可先按最高关键字不同,将序列分成若干小的子序列,而后进行直接插入排序。

(4)从方法的稳定性来比较,基数排序是稳定的内排方法,所有时间复杂度为O(n^2)的简单排序也是稳定的。但是快速排序、堆排序、希尔排序等时间性能较好的排序方法都是不稳定的。稳定性需要根据具体需求选择。

(5)上面的算法实现大多数是使用线性存储结构,像插入排序这种算法用链表实现更好,省去了移动元素的时间。具体的存储结构在具体的实现版本中也是不同的。

参考文献

[1]李宝艳,马英红.排序算法研究[J].电脑知识与技术:学术交流,2007(8).

相关文章
表演人才范文

表演人才范文

表演人才范文(精选11篇)表演人才 第1篇六七岁至十一二岁是学龄初期, 即相当于儿童接受小学教育的年龄。这一时期少儿的主要行为活动是学...

3
2025-09-20
保安班长月总结

保安班长月总结

保安班长月总结(精选6篇)保安班长月总结 第1篇篇一:保安班长年终总结个人总结光阴似箭日如梭,转眼间半年已经过去。回顾我们保安队在近...

1
2025-09-20
班主任有关工作培训心得

班主任有关工作培训心得

班主任有关工作培训心得(精选15篇)班主任有关工作培训心得 第1篇20**年8月我有幸在市电大参加了“仙桃市第一期小学骨干班主任高级研修班...

1
2025-09-20
部编版一年级四季教案

部编版一年级四季教案

部编版一年级四季教案(精选6篇)部编版一年级四季教案 第1篇《四季》文清路小学 刘明霞教学目标:1、认识 9个生字和言字旁,虫字旁和折...

2
2025-09-20
办公室文秘的岗位职责有哪些

办公室文秘的岗位职责有哪些

办公室文秘的岗位职责有哪些(精选18篇)办公室文秘的岗位职责有哪些 第1篇1、在董事会的领导下主持办公室的全面工作,负责办公室的日常工...

3
2025-09-20
八年级上册第1课鸦片战争

八年级上册第1课鸦片战争

八年级上册第1课鸦片战争(精选12篇)八年级上册第1课鸦片战争 第1篇《鸦片战争》教学设计【教学目标】1、英国向中国走私鸦片及危害;林则...

2
2025-09-20
表面粗糙度测量仪的工作原理

表面粗糙度测量仪的工作原理

表面粗糙度测量仪的工作原理(精选10篇)表面粗糙度测量仪的工作原理 第1篇表面粗糙度测量仪的工作原理分析及其改进方案阳旭东(贵州工业大...

1
2025-09-20
宾馆改造可行性报告

宾馆改造可行性报告

宾馆改造可行性报告(精选8篇)宾馆改造可行性报告 第1篇第一章 总论1.1 项目名称及承办单位项目名称:宝地宾馆改扩建项目 承办单位:...

1
2025-09-20
付费阅读
确认删除?
回到顶部