排序分析法

2024-11-08

排序分析法(精选12篇)

排序分析法 篇1

排序算法是计算机领域一个经典的研究课题,曾被评为对科学和工程计算研究影响最大的十大问题之一[1]。排序的本质就是将无序的数据元素遵循一定的规则按关键字顺序排列的过程[2]。

按照排序的数据规模,可以将排序分为内部排序和外部排序两类[3]。内部排序就是将待排序序列全部加载到内存中一次性排序的过程。外部排序是数据规模超过内存容量而产生的一种多次读取外存数据到内存,分别进行排序后最终整合的排序过程。外部排序本质上是多次内部排序加上多次外存读取的融合,因此,内部排序是排序问题的基础和核心。常用的内部排序算法按照基本思想可以分为插入排序、交换排序、选择排序、归并排序和基数排序等几类,在此选取了常见的7种排序算法,冒泡排序、快速排序、直接插入排序、希尔排序、堆排序和基数排序进行比较分析。

在排序方面的研究和文章已经存在[2,3,4,5],但是这些研究和数据都是基于C平台和整形数据,而实际应用中Java平台和浮点型数据应用较多。鉴于目前Java计数的广泛应用,在Ja va平台上用7种常用的数值排序算法测试不同规模的整型数据和浮点型数据,为采用何种排序算法提供参考。

1 算法描述和分析

算法描述中的待排记录均用R{R1,R2,R3,R4,R5….Rn}表示,n表示数据规模。

1.1 冒泡排序

1.1.1 基本思想

冒泡排序是一种交换排序算法。基本思想是依次从头到尾依次遍历含有n个元素的待排记录R,比较相邻元素,例如R1,R2,若R1>R2则交换两元素位置。每遍历一次选出最大的元素并且置于排序记录尾位置,为一次冒泡过程。接着排序前n-1个元素序列,进行相同的比较交换过程,选出最大元素置于序列的次尾位置。依次类推,直到待排序列有序位置。通常冒泡排序中会有一个哨兵来记录是否发生了元素交换,当一次遍历中没有发生元素交换时,表明序列已经有序。

1.1.2 时间复杂度

若有n个待排元素,第1次遍历的比较次数为n-1,第二次遍历为n-2,依次类推,第i次为n-i,时间复杂度表示为

冒泡排序的最差时间复杂度为O(f(n))=O(n2),最优时间复杂度为O(f(n))=O(n)

1.1.3 空间复杂度与稳定性

冒泡排序中只是在元素交换过程中需要一个辅助空间,空间复杂度为O(1)。元素交换只发生在R1>R2的情况下,保持了原序列相同元素的前后位置,所以冒泡排序是一种稳定的排序算法。

1.2 快速排序

1.2.1 基本思想

快速排序是一种交换排序算法。首先任意选取一个数据(通常选用数组的第一个数)作为关键数据,然后将所有比它小的数都放到它前面的序列Rleft,所有比它大的数都放到它后面序列Rright,这个过程称为一趟快速排序。接着分别对Rleft和Rright进行同样的快速排序,重复相同的操作,直到序列有序为止。

1.2.2 时间复杂度

每次快速排序是将待排序列分成两个规模较小的子序列接着进行快速排序,即二分问题,形似二叉树问题。其时间复杂度是由快速排序的次数和排序规模决定的,也就是二叉树的树高和元素的个数。

根据树结构理论,快速排序的最优,也是平均时间复杂度为O(f(n))=O(nlog2n),最差时间复杂度为O(f(n))=O(n2)。

1.2.3 空间复杂度和稳定性

每执行一次快速排序都需要一个辅助空间,若采用递归方式实现需要额外的压栈空间,快速排序的空间复杂度即为执行快速排序的次数,为O(nlog2n)。在排序过程中,不能保证原序列中相同元素的前后位置,是不稳定的。

1.3 插入排序

1.3.1 基本思想

插入排序在这里指直接插入排序,直接插入排序是最简单的插入排序算法。基本思想是把待排记录R按其关键码值的大小逐个插入到一个已经排好序的有序序列RinOrder中,直到所有的元素插入完为止,得到一个新的有序序列。

1.3.2 时间复杂度

插入排序的时间主要消耗在查询待排元素Ri的插入位置过程中,一般采用从后向前顺序遍历序列Rin Order,找到插入位置j,顺序移动Rj(Ri>=Rj)后的元素并将Ri插入到原Rj处。时间消耗由排序序列长度n和和待排元素在原序列中的位置i决定,

最差时间复杂度O(n2),最优时间复杂度O(n2),平均时间复杂度O(n2)。

1.3.3 空间复杂度和稳定性

插入排序只需要一个辅助空间,并且插入过程保持了原序列相同元素的前后位置。空间复杂度为O(1),稳定的排序算法。

1.4 希尔排序[6]

1.4.1 基本思想

希尔排序是一种改进的插入排序算法。首先选取一定的增量d(d<n)将待排记录R进行分组,形成若干个类似分组Ri{Ri,Ri+d,….Ri+jd|i+jd<=n}。在每个小分组里面进行直接插入排序,使得分组记录有序。接着逐渐减小d值,重复相同操作,直到增量d为1,待排记录R有序。

1.4.2 时间复杂度

希尔排序时间复杂度和增量的选取有关,一般采用希尔增量,即初次增量选取待排记录的一半,以后每次减半,直到增量为1。选取希尔增量的时间复杂度为O(n2),希尔排序时间复杂度的下界为O(nlog2n)。

1.4.3 空间复杂度和稳定性

希尔排序只需要一个辅助空间,空间复杂度为O(1)。希尔排序反复执行了多次插入排序,相同的元素可能在各自的插入排序中移动,所以,插入排序是不稳定的排序。

1.5 堆排序

1.5.1 基本思想

堆排序是一种选择排序算法。堆排序将待排记录R根据元素下标关系看作一棵完全二叉树,并且具有根元素最大或者最小性质,简称大根堆或小根堆。每次排序首先调整大根堆或者小根堆性质,而后交换堆顶R0与最后一个元素Rn(n为待排记录长度,随着排序过程递减)位置,接着在余下待排记录R{R0,…,Rn-1}上进行相同的排序操作,直到只有一个元素R0,排序完成,记录有序。

1.5.2 时间复杂度

堆排序的时间主要消耗在大根堆或小根堆的调整上。堆调整过程是相当于一次完全二叉树的查询过程,整个过程的复杂度为O(nlog2n)。

1.5.3 空间复杂度和稳定性

堆排序过程只需要一个辅助空间用来存放交换过程中的临时变量,但是在交换过程中不能保证原纪录中相同元素的前后位置。空间复杂度为O(1),算法不稳定。

1.6 归并排序

1.6.1 基本思想

归并排序是一种采用分治思想、建立在归并操作上的有效排序算法。归并操作将已经有序的子序列合并,得到完全有序的序列。通常以每个子序列长度为1开始,两两合并成长度为2的序列,再继续进行归并操作,直到待排记录R完全有序。

1.6.2 时间复杂度

以二路归并为例,每次归并过程都是将两个有序子序列合并为一个有序序列,时间消耗是一个递推的过程。和其他二分递归问题类似,时间复杂度为O(nlog2n)。

1.6.3 空间复杂度和稳定性

归并排序过程需要和待排记录R等大的辅助空间,但是保持了原序列相同元素的前后位置关系。所以,归并排序的空间复杂度为O(n),稳定的排序算法。

1.7 基数排序

1.7.1 基本思想

基数排序是一种分配式排序算法,也称作桶子法。基数排序根据键值的部分信息(例如数值最高位)将待排记录R分组,而后将分组后的待排记录排序并且按序组合,再按照键值的部分信息(例如数值次高位)分组,继续按序组合。重复相同的过程,直到遍历全部键值信息(例如数值最低位),待排记录R即有序。

1.7.2 时间复杂度

基数排序的时间复杂度和待排记录长度n、采用的键值部分信息(简称关键码d)以及d取值范围r有关,复杂度为O(d(n+r))。空间复

1.7.3 空间复杂度和稳定性

基数排序需要和待排记录R等大的辅助空间来存储原始排序记录,另外仍然需要rd个空间来辅助计数排序的过程。空间复杂度为O(rd+n),保持了原序列相同元素的顺序,是稳定的排序过程。

2 实验与结果

本实验使用一台装配32位Win7系统,4G内存,core i5CPU的电脑,在Eclipse开发环境下进行。为了验证基本数据类型、数据泛型封装和代码实现(泛型)对算法的影响,实验首先采用正序和逆序的int型序列对算法进行测试,而后调用Java里面的随机函数生成随机待排序列进行实验。

2.1 算法性能测试

为了测试算法实际运行效率实验选取1000-50000间隔为1000的49组正序、逆序、随机的int类型数据进行5轮测试,计算每种算法的时间消耗平均值,绘制得到图1正序序列排序时间消耗图、图2逆序序列排序时间消耗图和图3随机序列排序时间消耗图。

对比3组实验对比折线图,可以看出各个排序算法实际效率和理论分析基本一致。BubbleSort、InsertSort和ShellSort表现出了对序列顺序的敏感性。HeapSort和MergeSort时间消耗比理论要高,甚至在逆序下耗时超过BubbleSort,其原因在于算法实现过程中引入了过多的条件判定操作、分配内存操作以及寻址操作,这些操作增加了算法的复杂度,致使程序本身的复杂度增大。至于HeapSort和BubbleSort效率相当,与序列是随机序列以及HeapSort操作破环了堆的随机性[8]存在关系。

2.2 测试序列数据类型对排序影响

为了观察基本数据类型是否影响算法效率,实验分别选取1000-50000间隔为1000的49组正序、逆序、随机的int、double基本数据类型数据进行5轮测试,计算每种算法的时间消耗平均值,得到表1实验结果。

算法的性能稳定性指的是随着数据规模的改变,时间消耗是否稳定变化,表现为时间消耗折线图的走势是否平滑。根据实验结果显示,BubbleSort、QuickSort和InsertSort性能稳定,其余算法稳定性较差。

基本数据类型影响着排序算法的效率,排序相同规模下的浮点型数据和整形数据,浮点型数据消耗略大于整形数据。

2.3 Java内部封装类对排序算法的影响

为了测试Java内部封装类[9]对排序算法的影响,实验同样进行了5次。每轮实验仍然调用Java随机函数生成50组范围1000-51000间隔为1000的实验数据,类型为Integer、int、Double和double,测试明确指定数据类型的7种排序算法。而后,计算5轮实验时间消耗的平均值,得到表2的实验结果。

根据表2中实验数据,可以看出Java内部的封装数据类型对排序算法存在影响,程度因算法而异。InsertSort和Radix Sort受影响较大,封装数据类型和基本类型时间消耗比例达到了4:1,MergeSort受影响最小,浮点类型封装数据Double排序效率超过了基本数据类型double,产生这种现象的原因和Jav对象的存储机制和内存的分配方式有关。总结起来就一般情况而言,封装数据类型会加大排序算法的开销,时间开销是基本数据类型的1.2到4倍。

2.4 泛型编程方式对排序算法影响

为了测试采用泛型[7]方式编写程序对排序算法效率影响,实验进行了5轮重复测试。每轮实验调用随机函数生成50组范围1000-51000间隔为1000的实验数据,数据类型为Inte ger和Double,测试采用泛型方式和非泛型方式编写的7种排序算法。而后,计算5轮实验时间消耗的平均值,得到表3的实验结果

根据表2的实验结果,可以得到采用泛型编写方式对算法效率存在影响,影响程度依据算法的不同存在差异。Insert Sort和HeapSort影响程度较大,MergeSort基本不受影响,产生这种差距的原因和Java自身的运行机制存在一定的关系。总体来说,采用泛型编程方式会加大排序算法的时间开销,约为非泛型编程的1.5-2.4倍。

3 结果分析

通过以上的实验结果,可以得出如下结论:

(1)排序算法的效率在很大程度上由算法的思想决定。

(2)算法的实际运行效率也依赖于书写代码的复杂度以及采用的基本操作类型等外界因素。

(3)排序算法效率和基本类型有关,排序相同排序规模的浮点型数据比整形数据耗时。

(4)使用Java内部封装类会影响排序算法效率,排序相同规模数据的时间消耗增加0.2-3倍。

(5)采用泛型方式编写程序会增加排序算法的时间消耗,为非泛型方式的1.5-2.4倍。

(6)根据实验数据显示,综合多种因素的影响,QuickSor和ShellSort表现出良好运行效率,符合[8]中的描述。

4 结语

排序算法的效率是由多种因素决定的,本实验验证了排序记录数据类型、数据封装以及代码的编写方式对排序算法的影响。但是影响算法效率的因素还有很多,在选择排序算法时应该综合考虑各种因素,以便做出最合理选择。

摘要:排序是计算机科学领域的一个基本问题。从算法时间复杂度、空间复杂度和稳定性的角度对常见的7种内部数值排序算法进行了理论分析。在Java平台下测试了7种算法的执行效率,指出了算法的执行效率不仅和算法设计思想相关,基本数据类型、数据封装,以及代码实现方式都影响算法的执行效率。同时进行了实验对比数据,为排序算法的选择提供一定的参考。

关键词:内部排序算法,效率,数据类型,数据封装

参考文献

[1]Dongarra J.The top 10 algorithms[J].IEEE Computing in Science&Engineering,2000,2(1):22-23.

[2]江燕,周军,等.内部排序算法的表分析[J].电脑编程计数与维护,2014,12:23-24.

[3]吴伟娜,等.常用排序算法的比较分析[J].电脑知识与技术,2013,03:2416-2147.

[4]张静.常用的排序算法的分析与比较[J].河西学院学报,2010,02:26.

[5]淦艳,等.五种排序算法的性能分析[J].重庆文理学院学报,2016,06:45-50.

[6]杨智明.希尔算法实现与分析[J].软件与开发,2010,02:13-14.

[7]Joshua Bloch.Effective Java[M].北京.机械工业出版社,2009:97-102.

[8]Mark Allen Weiss.数据结构与算法分析:Java语言描述[M].北京.机械工业出版社,2008:77-125,183-219.

[9]Bruce Eckel.Thinking in Java[M].北京机械工业出版社,2007:47.

排序分析法 篇2

一、什么是语言连贯题?

正确衔接、排列语句,也就是我们常说的语言连贯题。语言连贯就是一个语段的各个句子之间,或是一个复句的各个分句之间,在内容和形式上都能接得上、扣得紧,意思一贯而下,脉络清晰,文气顺畅,完整、准确地表达一个意思。

二、此类题的【命题特点】

语言连贯题是近年来中考的热点,备受命题者的青睐。此类试题的命题特点有三个:一、近年来主要考两种题型,一种是:在横线处填入语句,要与上下文衔接最恰当;另一种是:给出几个语句,要求恰当排列语句顺序。二、考查的是书面表述中句与句之间的组合与衔接

问题。保持语言连贯,需要兼顾话题(有共同的话题)、句序(合理的句序)和语言的运用(语言的衔接与呼应)三个方面。三、从命题发展趋势看,考查语句衔接的能力主要用客观性试题,考查排列语句顺序主要用主观性试题,而且,考查学生语言操作能力的比重明显加强。

如何解答这两类试题呢?

一、“正确衔接”这一类题型的解题技巧。

(一)要注意话题和陈述角度是否统一。在表现一个中心意思时,要围绕一个话题来安排句子,保持陈述对象或叙述角度的一致,如果任意转换话题,容易造成思维的混乱。

例如:填入下面横线上的句子,与上下文衔接最恰当的一项是( )

他是班上的清洁委员,很爱护环境卫生,放学回家经过校门时,看到了地上有纸团,他很自然地弯腰拾起放进垃圾筒里, ,班会上,他受到了班主任的表扬。

A. 班主任发现了他

B. 班主任发现了自己

C. 自己被班主任发现了

D. 这被班主任发现了

(四川省中考试题)

分析:例句陈述的对象是“他”,横线处所填的句子的主语也应是“他”才连贯。A、B选项的陈述对象都是“班主任”,显然不符合要求,C选项的陈述对象由原来的第三人称“他”变成了“自己”也不符合要求,只有D项保持了陈述角度的一致,“这”指代的是“放学回家经过校门时,看到了地上有纸团,他很自然地弯腰拾起放进了垃圾筒里”,陈述对象依然是“他”,故答案应为D项。

(二)要注意前后句式,考虑句子结构是否一致。在叙述或描写时,相同位置上的用语在形式和结构上要保持一致。

例如:从句式搭配的角度看,最恰当的一项是( )

在我迷惘的时候,你呼唤我:是山的儿女就应坚如磐石;在我骄傲的时候,你呼唤我: ;在我怯懦的时候,你呼唤我:是山的儿女就应勇敢如山。

A. 是山的儿女怎能居功自傲

B. 谦虚谨慎是山的儿女的品质

C. 是山的儿女就不能自满自足

D. 是山的儿女就应虚怀若谷

(20北京市顺义区中考试题)

分析:解此题的着眼点应该是选文1、3两分句的句式,“是山的儿女就应……”,据此首先可以排除B项,“坚如磐石”“勇敢如山”都运用了比喻的修辞手法,D项的“虚怀若谷”运用了同样的修辞手法,因此应选择D项。

(三)要注意上下句表达的内容是否相似或相对。一组在统一主题下的句子,对多种事物或一个事物的多个方面进行叙述时,他们在内容上往往有着密切的关系,或相似,或相对。

例如: 将下列选项依次填入文段的空缺处,正确的顺序是 。

在生命的旅途中,能拥有那来自四面八方的各种提醒,该是多么令人欢欣鼓舞啊。提醒,可以是婉转的和风细雨,也可以是 ;可以是寥寥的片言只语,也可以是 ;可以是直对相知的友人,也可以朝向 ;可以是面对面的激烈争辩,也可以是 。

A. 素不相识的陌生人

B. 走了火的雷霆霹雳

C. 悄声无息的一个暗示的眼神

D. 不停的絮絮叨叨

(年湖北省黄冈市中考试题)

分析:仔细揣摩例句,可知命题者的意图是要考生将四句话按一定的规则填入原文,使得上下句构成类比关系。“婉转的和风细雨”显然对“走了火的雷霆霹雳”,“寥寥的片言只语”对“不停的絮絮叨叨”,“相知的友人”对“素不相识的陌生人”,“面对面的激烈争辩”对“悄声无息的一个暗示的眼神”。抓住这一关联点,我们就不难作出判断,正确的顺序应是BDAC。

(四)要注意上下文的内容是否符合事理。一组句子,语意的组合有不可随意更改的逻辑性,所以句序的安排有一定的规律:或以空间方位为序,从上到下,从左到右,从外到内;或以时间先后为序;或以人们认识规律为序,由表及里,由浅入深,由感性到理性;或以主次轻重为序。答这样的试题,必须把握句与句在意义上的联系,再分析它们在结构上的关系就能确定它们各自的位置了。

例如:下列句子空白处,填入最恰当的一项是( )

淄博要建成与经济相适应的文化大市,就要拥有 ,有较强的文化综合实力。

A. 先进的文化设施、先进的文化产业、一流的文化精品和丰富多彩的群众文化生活

B. 一流的文化精品、先进的文化设施、丰富多彩的群众文化生活和发达的文化产业

C. 发达的文化产业、一流的文化精品、丰富多彩的群众文化生活和先进的文化设施

D. 发达的文化产业、丰富多彩的群众文化生活、一流的文化精品和先进的文化设施

(2003年山东省淄博市中考试题)

分析:这道题可以从事理逻辑方面考虑,四个选项的四个句子,都紧扣题干中的“文化大市”而言,只是句序先后有别,应由“先进的文化措施”推动“文化产业”的发展,而“发达的文化产业”必定会促进更多的“一流的文化精品”的产生,进而丰富“群众文化生活”,所以A项最恰当。

(五)要注意内容的前后照应,考虑语脉是否相承。语句的照应和暗示是语言连贯的重要条件。解答此类题目的关键是语意的把握和关键词语的分析,能准确地找出与所提示或暗示的词语相呼应的选项,进而确定其先后顺序,使其语脉的链条相衔接。

例如:将下列选项依次填入文段的空缺处,正确的顺序是( )

爱心是 ,使饥寒交迫的人感到人间的温暖;爱心是 ,使濒临绝境的人重新看到生活的希望;爱心是 ,使孤苦无依的人获得心灵的慰籍;爱心是 ,使心灵枯萎的人感到情感的滋润。

①一首飘荡在夜空里的歌谣 ②沙漠中的一泓清泉

③一场洒落在久旱的土地上的甘霖 ④一缕冬日的阳光

A. ④①②③ B. ③②①④ C. ④③②① D. ④②①③

(2003年甘肃省兰州市中考试题)

分析:选文是一组以“爱心”为本体的比喻句,首先我们要抓住“温暖”一词,什么使人感到温暖,经过筛选,我们不难发现,句④“一缕冬日的阳光”最恰当;再次,抓住“希望”一词,什么使人重新看到希望,显然是句②“沙漠中的一泓清泉”;而句①“一首飘荡在夜空里的歌谣”;句③“一场洒落在久旱的土地上的甘霖”则分别和“心灵的慰籍”“情感的滋润”在内容上一一对应,故排列序号为④②①③,即D项 。

(六)要注意上下文的情调是否统一。对于描写或抒情类的句子,应考虑情景的相融性。即前边是热烈的,与之衔接的句子就不能是凄凉的;前边是壮阔的,后边就不能是柔婉的;前边是悠远的,后边就不能是热切的。

例如 根据语境,在横线上填上适当的语句,把句子补充完整。

溪流、湖泊、山泉是大自然的杰作。大自然因为有了水而有了灵性,有了生机。水是有灵魂的。水的灵魂如少妇一般韵味十足,如 和 。

(2003年重庆市中考题)

分析:选文是一个描写性选段,可以从所表现的色调和情景入手。“如少妇一般韵味十足”表现的是清新美好的色调,因此后面补充的句子也应体现这一特点。如“仙人一般变幻莫测,婴孩一般清新自然”等。

对于写景的复句或语段,要注意语境因素,要分析景物、情调、写法的特点。景物,有远、近、动、静的不同;色彩,有鲜明、暗淡的区别;有热烈、冷清之分;视角,有高、底、俯、仰之异。如果不注意这些差别,就不容易辨别选项的正误,也不容易选出衔接恰当的续句来。例如1988年的全国高考题:

为画线处选择恰当的句子,使上下文衔接。

崖壁下有几处坟地,坟前立着的石碑许多已经破碎,字迹模糊,枯水季节,浮在江里的石头已经露出水面,周围一片寂静。

A. 一列清黛崭削的石壁夹江高矗,被夕阳烘炙成一道五彩的屏障。

B. 没有太阳,天气相当冷,藤萝叶子多已萎落,显得这一带崖壁十分瘦削。

C. 在夕阳的照射下,枯草和落叶闪着不定的光,崖壁像一道巨大的屏,矗立在江对岸。

D. 一行白帆闪着透明的羽翼,从下游上来;山门半掩,一道阳光射在对岸的峭壁上。

这个复句要表现的是秋冬寂静、冷落、荒凉的情景。A项描绘的是火热灿烂的景象,D项描绘的是清新明朗的景色,都跟下句有矛盾。C项描绘的景色虽然跟下句一致,

但角度不对,“矗立在江对岸”,表明是远望,那又怎能望到江对岸坟地石碑上的模糊字迹?显然是不合乎情理的。B项无论从描写的情境看,或者从描写的角度看,

都与下句衔接得紧。

例:调整语序,使文章连贯。

①它是生命的源泉,②失去了希望,生命就会枯萎。③黄金象征着财富,④人一切都可以没有,⑤人类最宝贵的财富是希望,⑥惟独不能失去希望。⑦但却不是人类最宝贵的财富。

一段话往往有一个中心话题。在此,第一步:先找出引出话题的首句,它往往是陈述一事,当然有些题目需要综合运用几种方法来解决,掌握了以上几个原则和方法,并在平时的训练中灵活的加以运用,相信我们可以做好这类题。

二、“排列语句顺序”这一类题型的解题技巧。

一些语意丰富而复杂的语段中,句子排列的次序是根据语意之间的逻辑关系安排的,这种排序也有一定的规律:或以时间先后为序,或以空间变化为序,或以事物发展变化为序,或以人们认识规律为序。找到句子组合的“序”,尔后才能确定它们在语段中各自中的位置,使语言表达连贯。

例如:扬州红园的村庄盆景,①已经能同广州岭南派、苏州派、成都派、上海派并驾齐驱,②受到了国际市场的广泛注意,③形成了自己的独特风格,④赢得了人民群众的喜爱。

A. ③①②④ B. ④③②① C. ②④③① D. ③①④②

分析:按四句之间由大到小,由现象到本质的逻辑之“序”,很快就能确定为C答案。

例如:下列语句顺序排列正确的一项是

①乍一看,鹤群排成圆形队飞旋,似在游戏;

②又如海中的巨大漩涡,缓缓升腾。

③仔细看去,每一只鹤都一点一点冉冉高飞。

④上百只鹤的鹤群恰似飘摇于飓风中的鸿毛,轻盈飞飏;

A. ①③④② B. ④②①③ C. ④②③① D. ①③②④

答案:B

分析:我们首先根据关键词语“乍一看”、“仔细看去”可以断定①③的排序,同样根据关键词语“恰似”、“又如”可以断定④②的排序再按“先整体再局部”的观察规律,可以断定④②①③的排序。

【解题思路归纳】

从对上面两个例子的分析可以看出,解答语句排序题,首先要分析判断哪两、三个句子是不能分开的,要抱成一团的;然后再看“团“与”团“之间存在怎样的要看语句的表达是否合乎规范,语意是否明确;排列语句顺序的时候,还要做到词序恰当,词句之间关联、照应恰当,进而看语句与所在语境是否协调。

把握了以上几点,解起题来就得心应手、游刃有余了。

【典型例题】

1. 在横线处填入语句,与上下文衔接最恰当的是( )

__,要帮助他扬起前进的风帆;__,要鼓励他点燃自信的火焰;__,要用体贴去滋润他的心田;__,要提醒他去准备迎接更大的困难。

①当朋友遇到困难时 ②当朋友取得成绩时

③当朋友失去信心时 ④当朋友感到苦恼时

A. ①②③④ B. ④②①③ C. ③①②④ D. ①③④②

答案:D

2、从上下文连贯的角度看,填入横线处最恰当的是( )

学习知识要一点一滴,善于积累。___;平凡的努力虽不惊人,却能攀登万仞高峰。

A. 不显眼的细小的石子,却能铺出千里路

B. 能铺出千里路的是不显眼的细小的石子

C. 细小的石子虽不显眼,却能铺出千里路

D. 千里路的铺成,是有了不显眼的细小的石子

答案:C

3、将下列选项依次填入文段的空白处,正确的顺序是( )

自然界的物体,多数呈曲线状。崇山峻岭,____;江河溪流,____;大海汪洋,____;湖光粼粼,____。

A. 是抖动着的曲线 B. 是翻腾着的曲线

C. 是流动着的曲线 D. 是屹立着的曲线

答案:DCBA

4、在横线处填入语句,顺序最恰当的是( )

没见过大山的巍峨,真是遗憾;见了大山的巍峨没见过大海的浩瀚,仍然遗憾;见了大海的浩瀚没见过大漠的广袤,依旧遗憾;见了大漠的广袤没见过森林的神秘,还是遗憾。世界上没有不绝的风景,我有不老的心情。于是 。

①我还想从大漠那里学习沉着 ②我还想从大海那里学习勇敢

③我还想从森林那里学习机敏 ④我还想从大山那里学习深刻

A. ①③④② B. ②①③④ C. ③④①② D. ④②①③

答案:D

5、将备选句子填入文段中的横线上,顺序正确的一项是( )

有人说孩子们的心就像一块奇妙的土地, ,就会获得行为的收获, ,就会获得习惯的收获, ,就会获得性格的收获,

,就会获得命运的收获。

备选句子:①播下性格的种子②播下习惯的种子③播下行为的种子④播下思想的种子

A. ④③②① B. ①②③④ C. ①④②③ D. ①③②④

答案:A

6、填写在横线上最恰当的是( )

核桃林散发出苹果般的清香,油润的叶子上,反射出点点灯光,警戒的战士游动着,刺刀尖上一明一暗的亮光, 。

A. 好像黑幕上缀着的宝石。 B. 仿佛是天上闪烁的星星。

C. 正是他那双明亮的眼睛。 D. 就像一只追绕他的萤火虫。

答案:D

【模拟试题】(答题时间:30分钟)

1、“刺网的捕获率极高,所有比网孔稍大的东西都无法脱逃。”这句话是从下面文段中抽出的,将它放回原文,恰当的位置是( )

刺网就是用刺来卡住鱼类的网,使用遍及全世界。〔甲〕这种网长2公里,厚度有4.5公里,有的被固定在海底,有的被安置在特定的海流中漂浮。〔乙〕,加利福尼亚在对刺网捕捞的研究中发现,每捕捉到22条旗鱼,就会有一条鲸或海豚成为误获物而死掉。〔丙〕由于廉价,使用广泛,刺网误获的鲸类比例很高。〔丁〕专家们认为,只要有刺网的地方,就会有无辜死亡的鲸。刺网还会抓住无辜的海鸟,海龟和不允许捕捞的鱼类。

A.〔甲〕 B.〔乙〕 C.〔丙〕 D.〔丁〕

2、排列语句顺序恰当的是( )

①他们爱哭爱闹爱撒娇 ②但是好哄 ③任什么事情全都不懂 ④一块糖疙瘩

⑤就能把他们打发得欢蹦乱跳、乖乖听话 ⑥小小孩儿 ⑦自然指的是真正幼小的孩子

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

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

3、排列语句顺序恰当的是( )

①主要是在于地壳构造运动 ②地震就是这一矛盾激化所引起的结果

③因此,研究力的变化、加强到突变的过程是解决地震预报的关键

④抓不住地应力变化的过程,就很难预言地震是否发生

⑤“构造地震”之所以发生

⑥这种运动在岩层中所引起的地应力与岩层之间的矛盾,它们既对立又统一

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、排列语句顺序恰当的是( )

①只有谦虚的人才能不傲气、少自负

②也是品德修养的重要体现

③而才能好比分子

④谦虚是一种待人对事的态度

⑤对自己的估价好比分母

⑥那么分数的值愈小

⑦分母愈大

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

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

9、横线处排列语序恰当的是( )

每年春来,___,都是扑面而来的枣花香。

①走到哪儿 ②满眼的碎黄花 ③枣花初绽 ④村里村外

A. ④③①② B. ③④②① C. ④②③① D. ③②①④

10、把下面的句子组合成语意连贯的一句话,正确的排序是( )

①当我们吟咏李白、杜甫诗篇的时候,自然会感到他们人格的风貌和个性。

②人与文是永远不能分离的,而人在文章写作中起主导作用。

③正因为他们的作品达到了人文合一的境界,才使得他们的作品名垂千古,成为永恒。

④当我们捧读鲁迅、闻一多作品的时候,自然会被他们的人格力量和艺术魅力所征服。

⑤用作品表现人格和个性。

⑥大凡有成就的作家,都是用人格和个性抒写作品。

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

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

11、语句排序最恰当的是( )

①我们要勇敢而乐观地去面对它们。

②虽然其中不免会有困难和挫折。

③生活是美好的。

④不免会有伤心和痛苦。

⑤但这些都是生活的本色。

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

12、用下面的句子组成一个语段,句序排列恰当的一项是( )

①一张一米宽的木床挨着炉子,两头的床脚是两摞石头。

②一只铁皮炉子安在房子当间,铁皮烟囱穿过房顶伸到屋外

③床板上铺着一块鲜艳的垫子,垫子上摆着一只鼓鼓囊囊的白色方枕头。

④进了门是这户人家的厨房兼起居室。

⑤走过一块块草地,跨过一条条小溪,我们来到扎西家的白房子跟前。

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

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

答案:D

13、排列语句顺序恰当的是( )

①经常为这条小溪装饰风景 ②正面是青翠的葫芦山 ③当我在草地上蹲坐下来以后 ④一张美好的画面就展现在眼前 ⑤一些小船,一些鸭群 ⑥山脚下有一条溪流自那里走过

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

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

14、下面一段话的语序已打乱,排列顺序正确的是( )

①爆炸后,航天飞机变成了熊熊燃烧的巨大火球。

②燃烧着的飞机碎片散落在广阔的海面,持续了一个小时。

③以三倍于音速的速度升到佛罗里达五万英尺的蓝天时发生爆炸。

④“挑战者”号在卡纳维拉尔角发射台起飞后,

⑤拖着长蛇般的然后分叉的火焰和黄白色浓烟坠入距发射地点20英里外的大西洋。

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

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

语文排序练习题附答案

句子排序练习题

1

( )碧溪河从村前流过。

( )村后是一望无际的桑园。

( )我家住在碧溪河边,这是江南水乡的小村庄。

( )河里一群小鱼在水中游来游去,水面上不时溅起朵朵水花。

( )春天,桑树抽出新芽,整个桑园就像绿色的海洋。

2

( )一些不知名的小花,长在绿草中,像蓝天上缀着的星星。

( )小花园在教室的左边,长八米,宽四米。

( )花园里四周的道路上都长满了青草,好象铺了一层绿毯。

( )它紧靠短墙,由一排横、两排竖的篱笆和这面短墙围起来。

( )花是老师精心栽培的,有的长在地上,有的长在盆里,构成了一个个图案。

( )到了夏天,大的、小的、圆的、长的、各种形状的绿叶,托着红的、黄的、蓝的、白的各色各样的花儿,美丽极了!

3

( )地上的水越来越多。

( )雨落在对面的屋顶的瓦片上。

( )像一层薄烟罩在屋顶上。

( )渐渐地连成了一条线。

( )溅起一朵朵水花。

( )雨水顺着房檐流下来。

( )汇合成一条条小溪。

( )开始像断了线的珠子。

4

( )王红同学真值得我们学习。

( )今天,老天爷一直紧绷着脸,阴沉沉的,好象跟谁生气似的。

( )就在这个时候,我看见一个女同学飞快地朝操场奔去。

( )天突然下起雨来。

( )啊!那是三年级(4)班的王红。

( )下午放学的时候,同学们背起书包正准备回家。

( )原来,她是冒雨去降国旗的。

( )红领巾在她胸前飘动,就像一束跳动的火苗。

5

( )我们坐在河边柳树下,放下了鱼钩。

( )忽然,浮标一沉,我急忙把鱼竿往上一提,一条银白色的小鱼钓上来了。

( )星期天早晨,我和小明扛着鱼竿到郊外去钓鱼。

( )浅红色的浮标漂在水面上。

( )我们高兴地把鱼竿举在空中,摇晃着,喊着:“我们钓着鱼了!”

6

( )他正想坐下时,管理员对他说:“先生,请你不要坐在这里,这里是马克思的座位。”

( )管理员笑着说:“是的,很多年来,他每天都到这里来读书。”

( )那个读者问:“他每天都来吗?你是说他今天一定会来?”

( )话刚说完,马克思果然跨进门来了。

7

( )我连忙站起来让老爷爷坐。

( )我刚坐下,一位老爷爷提着篮子上了车。

( )星期日,我坐汽车去奶奶家。

( )老爷爷微笑着说:“谢谢,你真是个好孩子。”

( )上车后,我找到一个座位。

( )我说:“不用谢,这是我应该做的。”

8

( )奶奶说:“这孩子到底长了一岁,懂事多了。”

( )奶奶乐呵呵地从怀里掏出一个红包,说是给我的压岁钱。

( )屋子里充满了欢声笑语。

( )我奔到奶奶身边,祝奶奶健康长寿。

9

( )小脸蛋鼓鼓的,像嘴里含着里两个核桃。

( )身上穿着大翻领西装和蓝色直筒裤。

( )我的“小顽童”真逗人喜爱。

( )脚穿一双特大号皮鞋。

( )眉毛下两只眼睛,仿佛在转动。

( )他头上戴着一顶红白相间的西瓜帽。

10

( )找到字典“部首目录”那页。从2画中找到“讠”,看看后面的页码。

( )老师让我们用部首查字法查出“诚”字。

( )再数一数除去部首还有6画。

( )我翻到有“讠”的那一页,从6画中找到“诚”字,根据页码就可以查到“诚”字。

( )我先确定“诚”的部首是“讠”,共2画。

11

( )金苹第一个跳。

( )她从踏跳板上跃起,双手一按“山羊”背,两腿一分,便轻快地跳了过去。

( )今天体育课是练习跳“山羊”。

( )然后深吸一口气,快步向前跑去。

( )只见她弯弯腰,压压腿,原地跳了几下。

12

( )我问爸爸为什么倒着贴。

( )春节到了,爸爸拿着一张“福”字倒贴在门上。

( )我边看边想,突然,一拍脑门说:“是不是,福到了?”

( )爸爸说:“你自己想想是什么意思?”

( )爸爸听了,竖起大拇指说:“你真聪明!”

13

( )然后,她学着妈妈的样子,拧开水龙头。

( )她把每一只碗和盘子的里里外外都洗得干干净净。

( )先洗筷子,再洗碗和盘子。

( )吃过晚饭,小芳把碗和盘子收拾好,放进厨房的水池里。

( )最后,她把碗和盘子里的水控干,放进碗橱里。

14

( )当时,弟弟也在旁边,一动也不动,神情是那样专注。

( )原来他也在一旁暗暗地认字啊!

( )妈妈教了几遍以后,要我从卡片里找出“伯”字来。

( )记得我小时侯,妈妈做了很多卡片,教我认“叔叔、伯伯、阿姨”这些字。

( )我还没找到,弟弟已经伸出胖胖的小手,把那张卡片挑出来了。

15

( )作文果然有了进步。

( )自己不动脑子,作文简直是七拼八凑。

( )以前,我每写一篇作文,都要先找别人的文章来参考。

( )此后,我就试着用自己的话写真实的故事。

( )老师在我的作文后面批着:“不真实,要用自己的话写真实的故事。”

参考答案

1(2-4-1-3-5)

2(6-1-5-2-3-4)

3(7-1-2-5-6-3-8-4)

4(8-1-4-3-6-2-7-5)

5(2-4-1-3-5)

6(2 - 3-1-4)

7(4-3-1-5-2-6)

8(4-5-3-1-2)

9(4-5-1-6-3-2)

10(3-1-4-5-2)

11(2-5-1-4-3)

12(2-1-4-3-5)

13(2-4-3-1-5)

14(2-5-3-1-4)

排序分析法 篇3

[关键词]金融生态环境;优势排序法模型;评估指标

1、引言

长期以来,我国金融行业发展缓慢,21世纪后我国的金融行业才缓慢发展起来,自“金融生态”[1]由周小川先生提出以后,我国学者主要从金融生态的内涵、金融生态的评价体系以及金融生态的实证分析三方面进行了相应的研究分析,丰富了研究金融生态问题方法,为以后更加深入了解分析以及对我国出现的区域性金融提供了理论依据。金融生态是借用生态学的概念对金融外部运行环境的形象描述,金融生态环境是指微观层面的金融环境,包括法律、信用体系、会计与审计准则、中介服务体系、企业改革的进展及银企关系等方面以及金融体系内部各要素如金融市场、金融机构、金融工具、金融产品,通过资金媒介和信用链条形成的相互作用、相互影响的系统[2-4]。

我国经济处于发展阶段,很多方面还不成熟,特别是金融;我国的金融业一直以计划为主,市场调节能力有限。自从提出金融生态这一学说之后,我国金融业在全面的改善,但是我国金融生态环境存在很多问题:金融产权制度性缺陷阻碍了我国金融业的正常发展;法律环境不完善加大了我国金融业的信用风;社会信用缺失加剧了我国金融业的不稳定性等问题。

因子分析和优势排序法在指标评价体系构建中的应用近来也有人研究。本文要构建的金融生态环境评价指标体系[8]包含一级、二级和三级指标,其中一级指标是对区域金融生态环境的整体评估;三级指标是影响金融生态环境的各项指标,二级指标是对三级指标的分类。

2、指标体系的构建

2.1指标的选取

以金融生态环境的定义作为出发点,综合考虑指标设置的科学性、可行性、系统性、全面性和相关数据采集的难易程度,本文设置评价对象为全国31省市;评价体系由一级指标、二级指标和三级指标构成。

经济基础是衡量经济发展的主要依据,是经济发展和金融生态环境优化的重要支撑,体现了金融与经济发展的共生共荣性;金融发展是指包括金融机构在内的金融市场的发展状况、繁荣程度和利用效率,本文主要通过银行类金融机构指标和非银行类金融中介指针来凸显金融系统的实体性特征,并体现金融系统内部的共生共荣性、协调性;企业发展是以金融发展为前提的、相辅相成,企业盈利不仅靠产业资本、金融资本已上升到重要地位,金融状况不好就会影响企业的发展,从一定程度反映金融的发展水平;法制环境是维持金融业稳定发展的重要因素。

2.2AHP确定二级指标对于一级指标的权重

用AHP确定评价指标权重。层次分析法(AHP)是由T.L.Saaty于20世纪70年代提出的一种多层次权重解析法。它以定性和定量相结合的方法处理各种决策因素,将人的主观判断用数量形式表达和处理,在社会经济研究的多个领域得到了广泛的应用。该方法把复杂问题分解成各个组成因素,又将这些因素按支配关系分组形成递阶层次结构,通过两两比较的方式确定层次中诸因素的相对重要性。

本文的一级指标将有二级指标进行评估。首先有专家和决策者对评价指标元素两两比较并量化构成相应的判断矩阵,m为考虑的准则书。A导出的归一化权重W由求解,,其中为A的最大特征值,A的一致性比例 ,RI为随机一致性指标,若,称A是满意一致性判断矩阵,由此m个评价指标的权重即为。

3、我国31省市的实证研究

本课题以31省市的2014年的数据为样本,来评估全国金融生态水平状况。

依据以往的各位专家学者对金融生态环境的研究,本文选取的22个三级指标:自变量χ11表示GDP增长率;χ12表示人均增长率;χ13表示第三产业比例;χ14表示全社会固定资产投资增长率;χ15表示财政收入增长率;χ16表示商品零售物价指数;χ21表示存款增长率;χ22表示贷款增长率;χ23表示存贷款比率;χ24表示金融从业人数;χ25表示保险密度;χ26表示保险深度;χ27表示金融贡献率;χ31表示国有及规模以上非国有工业企业总资产贡献率;χ32表示国有及规模以上非国有工业企业总资产负债率;χ33表示利润总数;χ34表示工业总产值;χ35表示工业增加值率;χ36表示亏损企业亏损总数;χ41表示每万人口拥有的律师数;χ42表示每万人口刑事辩护数;χ43表示每万人口经济诉讼数4个二级指标;4个二级指标:经济水平、金融水平、企业水平、法律水平;如表1所示:

3.1评价指标权重的确定

用AHP确定评价指标权重。首先有专家和决策者对评价指针元素两两比较并量化构成相应的判断矩阵,m为考虑的准则书。根据AHP求法算出相应的指标权重值。

3.2优先关系的构造

复杂的金融神态环境问题,对于一个给定的指标,第r個和第i个备选方案之间的关系可由决策矩阵中的元素的大小关系来表示。

若令:表示优于或等价于的指标的下标集;

表示劣于于的指标的下标集。

以下定义:

(1)优先度矩阵

定义1 优先度表示方案优于方案的程度。其大小定义为

,k, l=1,2,…m

(2)低劣度矩阵

定义2 低劣度描述了方案劣于方案指标的最大程度,其定义为

(3)可信度矩阵SM

定义3 可信度指数表示方案优于方案的可信度程度,所有的可信度指数构成可信度矩阵,其大小定义为

其中,表示的准则集合。

3.3排序

用PROMETHEEII方法对备选方案进行排序之前,首先需要给出:

定义4 离去流量用于描述方案优于其它所有方案的程度,其大小定义为

定义5 进入流量用于描述方案优于其它所有方案的程度,其大小定义为

定义6 净流量为离去流量与进入流量之差,其大小为

最后根据净流量的大小对备选方案进行充分排序。

3.4省市金融生态环境水平的评估

本文利用2014年31省市的指标数据,对金融生态环境水平进行评估,分别得到经济发展水平、金融发展水平、企业发展水平、法律环境以及目标层的评估结果,并进行排序,如表2及图1所示:

图1 各地金融生态环境水平

依照金融生态环境综合指数的分布特征,我们将全国的金融生态划分为五个等级(见表3)。在第一等级中,湖北省各项一级指标发展均衡,河南省的金融环境、企业环境位居前列;第二、第三等级中的省市大部分是沿海经济发达的地区或是较繁华的商业区,各个省市之间的某一指标位居前列,也有比较明显的短板,需要实现全面的发展;第四等级中的省市大都是西部地区的省市,其中的江苏、广东二省法律环境特别的差;第五等级中的省市大部分是老工业基地,特别是辽宁、吉林二省没有创新,现在发展缓慢,需要全面的改善。

4、总结

1.由经济发展水平、金融发展水平、企业发展水平、法制环境组成的区域评价系统,能够很好地刻画区域金融生态环境系统发育水平构成及其系统内部各子系统、各要素的发展水平及协调状况。模型不仅可以用于对比分析不同区域的金融生态环境现状,而且还可以揭示单个金融生态环境的发展状况。

2.对我国32省市金融生态环境系统的实证分析表明,中国金融史生态环境系统存在明显的区域等级差异。依据2014年的统计资料,计算全国31省市金融生态环境综合指数,我们将全国生态环境划分为五个区域等级。处于不同金融生态等级的区域管理者应认清自身现状,科学定位,制定适合本区域金融生态发展规律的政策与措施。

金融生态环境建设是一项系统工程,涉及到社会经济生活的各个方面,需要全社会长期不懈的共同努力。通过以上分析,了解到不同区域之间的金融生态环境存在着较大的差异,改善区域金融生态环境的质量:主要从金融资源建设、金融法制环境、企业治理机制度以及社会信用文化建设方面进行改善。

参考文献

[1]周小川.完善法律制度,改进金融生态,2004

[2]徐若金.论我国的金融生态问题[J].金融研究,2005,13(2):35-45

[3]李扬.中国城市金融生态研究—初步分析[J].福建金融,2005,16(7):4-7

[4]吴小萍,张小勇,孟祥定,马超群.复杂系统决策的综合评价方法研究[J].系统工程与电子技术,2004,26(12):1807—1811

[5]梁展凡,袁泽沛.基于复杂系统理论的项目群互动风险及机理研究[J].经济问题,2010(10):62-65

[6]谭志雄,陈茂直,姚斯杰.金融生态理论研究综述[J].技术经济,2011,30(2):111—116

[7]仰炬,张朋柱.经济复杂系统综合评价研究[J].工业技术经济,2004,23(5):53—54

[8]中国人民银行洛阳市中心支行课题组.区域金融生态环境评价指标体系研究[J].理论探究,2006(1):10—13

[9]王珥,伍昱铭,刘有为.区域金融生态评估方法研究[J].理论探究,2009():111-112

[10]周炯,韩占军.区域金融生态评估指标体系构建与实证检验—基于西部地区金融生态水平考察[J].统计与信息论坛,2010,25(2):88-93

[11]韩大海,徐效坡.我國省级区域金融生态系统评价[J].金融教学与研究,2006(4):2-6

[12]郭亚军,何志勇,董飞飞.基于双重优势的自主式综合评价方法[J].系统工程与电子技术,2011,33(12):2668—2671

[13]董庆兴,郭亚军,何志勇.基于竞合视角的自主式综合评价方法[J].系统管理学报,2012,21(2):180-185

作者简介

排序算法的性能分析 篇4

在排序过程中,由于待排序数据的分布、表长、数据的特征以及不同的排序方法实现的过程不尽相同,所以排序方法的效率也不相同。本文针对不同的待排序记录序列,详细地阐述了不同排序算法的效率,系统地分析了如何针对不同的初始待排序列选择合适的排序算法,从而达到排序效率的最优。

1 不同排序算法的思想及具体实现

1.1 直接插入排序

直接插入排序是一种简单的排序方法,其基本思想是依次将待排序记录按照关键字的值插入到当前的有序表中。初始有序表中只含第1个记录,然后依次将第2、3…...n个记录逐个插入,经过n-1趟排序后,得到一个长度为n的有序表。在排序过程中比较次数最大值和最小值分别为(n+4)(n-1)/2和n-1,所以直接插入排序的时间复杂度为O(n2)[2]。

1.2 快速排序

快速排序是一种先进的排序方法,其基本思想是从待排记录中选择一个(通常第1个)记录作为枢轴,以该记录的关键字值为基准,将待排记录分成独立的两个子序列,其中一个子序列关键字的值均比枢轴记录的大,另一个子序列关键字的值均比枢轴记录的小。如初始序列为{90,63,21,33,45,95,120,10},则经过一趟快排后,序列变成{10,63,21,33,45}90{120,95},前一个子序列关键字的值均比90 小,后一个均比90 大。完成一趟快排后,再分别选取前后两个子序列中的第1个记录作为枢轴,重复上述过程,直至所有记录有序为止。

1.3 堆排序

堆排序也是一种先进的排序方法,从排序方法上来说,它是一种选择排序的方法。堆排序是利用堆的特性进行排序。堆排序的思想是首先根据排序要求建立一个堆,输出堆顶(最小或最大)后,调整剩余元素成为一个新堆,这个过程称之为筛选。之后,再输出筛选后的新的堆顶(次小或次大),重复上述过程,直到输出所有元素,此时按顺序输出的各堆顶的值就是一个有序序列。

除了上述的直接插入排序、快速排序、堆排序外,简单选择排序、二路归并排序都是常见的排序方法。不同排序算法的时间复杂度如表1所示。

2 不同数据分布时排序算法的性能分析

当待排序记录分布不同、数据特征不同时,排序算法的性能也不尽相同,不能一概而论。下面就待排记录几种不同的情况做详细分析。

2.1 待排记录数据分布无规律

如果待排记录杂乱无章,也就是数据的分布没有任何规律,从前面的分析,可以得出结论,快速排序所花费的时间的常数因子k值最小[3],所花费的时间最短,此时快速排序的性能最优,被认为是效率最高的排序算法。下面图1 所示是8 个待排记录经过三趟快排就完成了整个排序过程。

对于快速排序,两边的两个子序列长度不一定是相同的,如果两个序列的长度相同或大致相同的话,速度会更快,效率会更高。

2.2 待排记录初始有序或基本有序

如果待排记录有序时,快速排序反而失去了它的优势,蜕化为冒泡排序,如图2所示。

从图2 可以看出,当待排记录初始有序时,快速排序每趟只是把枢轴记录归入到有序表,其他记录仍在无序区中,已完全失去了快速排序的优势,时间复杂度也退化为O(n2)[4],所以此时选择快速排序是非常不可取的。

如果选择堆排序、二路归并排序等先进的排序方法,它们的性能是不受待排数据影响的,均为O(nlog2n)。如果选择简单选择排序,在初始有序的情况下,虽然数据记录移动的次数为0,但对于数据比较次数,不受初始有序的影响,没有发生任何改变,仍为n(n-1)/2,所以时间复杂度仍为O(n2)[5]。

对于初始有序的待排记录,通过前面的分析,采用直接插入排序更快,在排序过程中,经过n-1趟排序,每趟均是待插记录和当前有序表中最后一个记录比,待插记录总是大于当前有序表中最后一个记录,所以比较一次就结束,共n-1次比较,且不需记录移动,记录次数为0。此时直接插入排序时间复杂度为O(n)级,待排记录初始有序时不同排序算法的性能比较见表2所示。

从表2 可以看出,当初始有序时,直接插入排序需要比较的次数最少,性能最优,效率最高。

通过上面的分析发现一个问题:如何判定待排数据的分布特征,从而选择相应的高效的排序算法。数据分布的特征,我们也可以通过所有相邻数据的比较来实现,如果前者比后者小的记录数目占的比重较大,其有序高较高;反之则有序程度低,数据分布没有规律,通过数据的有序度来选择相应的排序算法提高效率。

2.3 从n个记录中选择前k项(n值较大)

如果待排记录的n值很大,特别是只要前若干个数据时,堆排序比较适合。例如要得到1000个数据记录中的前8个,在上述的排序方法中,堆排序的效率是最高的。对于快速排序、二路归并排序和直接插入排序,它们必须在得到整个有序序列后才能得到前8 位,也就是说,需要先把1000 个数据进行完整的排序,得到它们的有序序列后再从中取出前8位,可想而知,所花费的时间是相当长的。

简单简单选择排序和堆排序不必如此,它们在经过若干趟排序后可以得到部分有序子序列。对于简单选择排序,第一趟从n个元素中选择最小的需要n-1 次比较;第二趟从n-1 个元素中选择最小的需要n-2次比较…...,如果选择出前8名,则需八趟排序,共需的比较次数为(n-1)+(n-2)+…...(n-8)=8n-36次。在堆排序中,对于深度为k的堆,初始建堆需要4n次比较[6],以后每次从堆中筛选中一个最小值需比较2(k-1)次。由完全二叉树的性质,得到k=└log2n┘+1,n值依次从n-1开始递减1,由于递减1 对n值影响不大,可以均用n来表示堆中元素个数。则得到前8名需要建堆一次,筛选七次,比较次数小于4n+2(k-1)*7,k=└log2n┘+1=└log21000┘+1=10,经过推导,可以得出比较次数小于4n+126,与简单选择排序的8n-28 次比较相比,少了大约4000 次。表3 列出了不同的排序方法从n个记录中选择前k项(例如k=8)时所需进行的比较次数,经过数据分析,可以得出,堆排序初始建堆时需要较多的比较次数,但在以后的每次筛选过程中,比较次数会发生质的减少,大大提高排序速度,所以,堆排序对于待排记录的n值很大的情形,效率非常高。

3 结束语

排序是计算机系统开发过程中,非常普遍又非常重要的操作之一,是将一组记录的任意序列按关键字大小重新排列成为一个有序序列。本文详细地讨论了直接插入排序、简单选择排序、二路归并排序、堆排序、快速排序等几种常见的排序方法的思想、排序过程及算法实现,系统地分析了当数据分布没有规律、记录初始有序或基本有序、记录数目多等几种情况下,不同的排序算法的性能。最终实现在不同的数据分布下,如何选择高效率的算法,使得排序效率最高,最节省时间。

摘要:排序是计算机数据处理中的一种重要操作。在简单地讨论直接插入排序、简单选择排序、二路归并排序、堆排序、快速排序等不同排序算法的思想及具体实现过程的基础上,针对记录数据分布无规律、记录初始有序或基本有序、从n个记录中选择前k项(n值较大)等不同的数据分布形式,通过详细的实验测试,对不同的排序算法做了细致的性能分析,从而实现在不同的数据分布下,提高排序算法的效率。

排序分析法 篇5

2018年国考面试:多项选择排序式题和料分析式题型

一、多项选择排序式题型

多项选择排序式无领导小组讨论是指提供给考生讨论的问题有多种备选答案,要求从中选择符合某种条件的一种或几种,或者对备选答案的重要性进行排序等。主要考查考生分析问题、抓住问题本质方面的能力。

多项选择式题型样例:

请你仔细阅读下面的材料:

近年来,腐败现象引起了广大人民群众的强烈不满,成为社会舆论的热点问题。有的群众将腐败现象滋生蔓延的原因归纳为下面10个方面:

1.由于改革开放,西方不健康思潮涌入我国,给人们以消极的影响。

2.一些干部还残留有“做大官,发大财”“当官做老爷”的封建意识,为人民服务的宗旨意识淡化。

3.市场经济的负面效应诱发了“一切向钱看”的不良倾向,导致拜金主义和个人主义泛滥。

4.相对来讲,公务员的收入不高,使他们产生一种失落感,但公务员有一定的权力和地位,因此难免被拉下水。/ 4

内蒙古华图官网:nmg.huatu.com

以教育推动社会进步

5.古人云:“仓廪实则知礼节,衣食足则知荣辱。”现在是社会主义初级阶段,人民的物质生活水平不高,贫富差距大,造成了“笑贫不笑娼”的畸形心态。

6.思想政治教育工作跟不上,存在“一手硬一手软”的现象,对优良传统不敢理直气壮地宣传。

7.在治理腐败问题上,处理不严,打击不力,人们对反腐败信心不足。

8.认为腐败是任何社会都具有的共同现象,是人类社会无法消除和遏制的。

9.目前,在某些领域,法律法规不健全、不配套。

10.国家不能做到高薪养廉。

你们的任务是,从这10个导致腐败现象滋生蔓延的原因中选出3个最重要的,并说明理由。

首先给你们5分钟的时间各自独立地从这10个原因中选出3个最重要的,在这一阶段注意不要互相讨论,接下来用45分钟时间进行讨论,要求最后拿出小组的一致意见,推选一名代表向考官进行汇报,并陈述理由,其他人可以进行补充。

如果到了规定的时间,你们还是不能得出一致意见的话,那么就要在你们每一个人的成绩上都减去一定的分数。

好!现在开始。

二、材料分析式题型 / 4

内蒙古华图官网:nmg.huatu.com

以教育推动社会进步

材料分析式题型是给考生提供一定的材料和信息,根据这些材料和信息设定一些需要解决的问题,要求考生通过讨论解决这些问题。

此类问题对考生阅读材料和分析材料的能力具有一定的要求,解决问题的很多信息点是从材料中得来的,因此也考查了考生提炼信息和解决实际问题的能力。

材料分析式题型样例:

欢迎大家参加这次讨论活动。这次活动总共分成4个部分:工作人员介绍有关情况并向大家发放材料;随后各自准备5分钟;按照考号顺序依次发言,每人不超过5分钟,然后自由讨论50分钟;讨论结束后,大家推选一名代表向考官进行汇报,其他人员可以进行补充。

希望大家在讨论过程中积极发言。考官将根据你们在讨论中的表现,对你们本人以及所在小组进行评判。在你们讨论的整个过程中,考官作为旁观者,不参与你们的讨论,由你们自主进行。讨论开始后,请不要再向考官和工作人员询问任何问题。好,现在开始。

请仔细阅读下面的材料:

2009年4月11日,张氏兄弟为了给母亲治病,绑架了一名人质,试图进行敲诈勒索,最后在与警察的对峙中,张氏兄弟终止犯罪行为,人质被成功解救。这次绑架事件最终没有造成人员伤亡,张氏兄弟也没有得到要勒索的2万元。经法院审判,哥哥被判处有期徒刑5年零6个月,并处罚金2000元;弟弟被判处有期徒刑2年,缓刑3年,并处罚金1000元。有人觉得判罚过轻。/ 4

内蒙古华图官网:nmg.huatu.com

以教育推动社会进步

根据《刑法》××××条规定,违反刑法的,情节较轻的判罚5~10年。

有网友认为张氏兄弟两人实施绑架的目的是给母亲治病,结果并没有造成人员伤亡,对社会造成的危害较小,应从轻处罚。

在刑事案件的审理过程中,审理案件的相关人员不得接触被告者的任何亲属,但是张氏兄弟的母亲找到了这位法官,并下跪两次。判决后,法官亲自去慰问张氏母亲。

广大媒体积极行动,倡议法律应该酌情处理,所以应从轻判罚。

问题:

1.你认为怎么判决此案件才能合法合理,并说出3点理由。2.在判决过程中,提出2条合理化建议。

2018年国家公务员成绩查询|面试名单|面试资料下载(http://nmg.huatu.com/guojia/),复制链接到浏览器即可查看你想要了解的国考信息。/ 4

整理排序两招 篇6

一、抓关键词排序。如:

( )田野的尽头,连绵的山峰像大海里起伏的波涛。

( )溪水是那样清澈、明净,水里的鱼儿自由自在地游来游去。

( )小溪的另一边是田野,远远望去,绿油油的一片。

( )一条小溪从我的村子旁静静地流过。

( )小溪的一边是果园,里面橘树成行,长势喜人。

这段话的关键词应为:小溪——溪水——溪的一边是果园——溪的另一边是田野——田野尽头。

很明显,它的选材顺序是由中间到两边,由近到远。序号应为5、2、4、1、3。

二、多读意会排序。书读百遍,其义自见。我们可以把句子反复读几遍,联系上下文仔细揣摩段落的组织顺序,在读中调整调换,反复进行,就会正确排好顺序。

如果做题时把这两种方法巧妙结合起来,就会达到万无一失的效果。

·小小练兵场·

把下面的句子整理成连贯通顺的一段话,在括号里标上恰当的序号。

( )不要放弃爱,不要放弃你的美德,那你身边的人都要蛰你。

( )旁边的一个人对他说:“它老这么蛰你,你还救它做什么?”

( )有一次,一个印度人看见一只蝎子掉进水中团团转,他当即就决定帮它,他伸出他的手指提起它,想把它捞到岸上来。可就在他的手指刚够到蝎子的时候,蝎子猛然间蛰了他一下。

( )这个印度人说:“蛰人是蝎子的天性,而爱是我们的天性。我怎么能因为蝎子有蛰人的天性就放弃我们爱的天性呢?”

( )但这个人还是想救它,他再次伸出手去试图把蝎子捞出水面,但蝎子再次蛰了他。

并行排序算法的设计与分析 篇7

当前并行计算已应用在生物计算、石油勘测、化学分子计算、地球物理模拟等多个领域中。并行算法主要针对每个处理节点,必须同时顾及数据共享一致性等问题中。

1 并行算法

1.1 并行算法定义及目标

算法的定义是,对解题方法的进行详细描述,有一组可以针对某种问题进行针对性解决运算的又穷规则。而并行算法则是将每一个进程整合到一起,构成一个集合,进程与进程之间可以相互协调相互作用,最终实现问题的针对性解决。通俗来讲,并行算法就是运行在并行计算机上,针对特定的问题和数据处理的算法。实际上并行算法就是把多个不同的任务一一映射到处理机上,或者将需要解决的多维问题分别映射到处理机上,然后进行相关的运算或求解。

通常我们以空间和时间两个维度的复杂性,综合表示出某个算法的复杂性,这是站在计算复杂性来看的。如若站在算法树结构去看的话,串行算法一般情况下均表现出深且窄,究其原因是因传统串行算法是设计对象是一维问题。递推算法,作为一种串行算法,在进行庞大数据计算时,它的实现是需要对算法树深度进行增加。

尽力降低时间复杂度,是并行算法的终极目标,但实现此目标一般都要增加空间复杂度。所以在并行算法中,在每个时间都将可允许计算量分别增加,其目的是最大限度降低算法计算的步数,采用浅而宽的这种独特的结构。实现的另一种办法是对每一时刻计算的复杂度进行增加,其目的是最大可能的降低时间复杂度,也就是说由之前的时间复杂度转变成了空间复杂度。

1.2 并行算法分类

并行算法的种类非常多,分类标准也均有所不同。按照基础运算对象进行分类,有数值和非数值两周并行算法。

按照并行运算过程中,各进程的执行时间进行分类,有同步、异步和独立三种不同的并行算法。

按照进程处理机中,它们各自承担所要计算任务量进行分类,有大粒度、中粒度和小粒度三种并行算法。

1.3 并行算法设计方法

并行算法的设计需要参照系统类型以及系统的特征,对某一问题针对性在处理机上进行并行解决。

并行算法的设计一般有三种办法:

对已有的串行算法进行检查,对算法中的并行性进行开发,并加以优化;

根据问题本身的特征出发,设计一个完全不同的并行算法;

在已有算法的基础上,根据问题的特征进行修改,处理类似的问题;

第一种设计方法中,如若该串行算法已经有内在相关顺序性,就非常难做并行的优化;第二种设计方法中,对现有算法进行修改,则要熟知问题的特殊性;第三种设计方法,凭空创新设计出一个算法,技巧性非常强,不但没什么章法,而且技术水平达不到。

针对并行算法的设计,目前最为普遍的设计方法有平衡树技术、分治策略技术、流水线技术以及倍增技术等等。

1.4 并行算法计算模型

并行计算模型是指从所有并行机中,把共性存在的基本特征分离出来,最终形成一个抽象的并行计算处理机,且要在具体并行机至上。它与顺序计算中的Von Neumann模型非常相似。根据普渡报告分析,并行计算模型,必须能够保证并行计算处理机针对哪种计算,表现出超强的计算能力。

并行计算的模型、算法设计以及并行机的相互关系,如图1所示:

并行计算模型在并行算法中,有着至关重要的作用。它作为一种常见物质基础提供给并行算法,进行相关研究;它还可以拿出一个简单便利的框架结构,用于并行算法的设计以及开发分析;因其适用性较强,看适用在许多种类的并行处理机上,使得新的并行算法充满生命力。

2 并行排序的基本思想

并行排序算法是参照快速排序算法的分治方法,首先在主进程内,把其宿主机上等待排序的某一数组分割为n块,文件的大小决定n的值。然后再把n块数据推送到对应数量的从进程中,从进程对其已经接受的数据在宿主机上进行串行排序,最后所有从进程将已排好序的数据回传给主进程,同时数据要放回到原数值的位置上,完成了并行排序。

按照此思想进行排序,缺点是不能确定算法的性能。可以借鉴负载均衡的思想,对该算法做出一些改进。从进程接受到数据后,不再对数据进行划分,只需要将其分为相同大小的n块,并将n块推送到对应的n个从进程中,由从进程来对分到的数据进行排序操作,排序完成后将已排序的数据传回给主进程。最后主进程只需要对接收到的n块排序数据进行归并排序,至此就完成了数据的排序工作。

3 算法设计

3.1 算法基本思想

本文并行排序的算法思想是,首先形成部分有序的数据库,然后依次读入将数据顺序分成的数据块,快的大小不能超出内存的大小。最后再对每一个小块进行排序,排序的结果保存到临时的文件中。

3.2 算法设计

假设需要排序的数据总量为N,分为n个数据块,每个数据块的数据量为A,即N=n A,每一块数据块进行排序的耗费的时间为t (A)。设立三个A的函数,readblock ( ) 读入数据块、sortblock ( ) 数据块的排序、writeblock( )保存已排序的数据块,分三个步骤完成数据排序。排序耗费的总时间t(A)由三个函数执行总时间的决定,分别记作tr(A)、ts(A)、tw(A)。

即:t(A)= tr(A)+ts(A)+tw(A)

完成所有数据排序的时间为:

T(A)=N( tr(A)+ts(A)+tw(A))= n tr(A)+n ts(A)+n tw(A)

如果只需要某一个进程对数据处理的话,即串行执行上述三个步骤,如图2所示:

但是因为readblock( )、sortblock( )、writeblock( )三者在排序的时候所占用的系统资源均不相同。若如想要数据读入readblock( )和数据保存writeblock( )二者同时进行的话,就需要把排序前数据和已排序的数据分布安防在两个不同的硬盘上,而且还不会争夺I/0资源。另外,因为这两个模块占用的CPU资源特别少,数据排序sortblock( )也可以并行运行,互不影响。所以说我们通过使用单机进行数据的排序,提高了排序算法的效率。

合理的并行算法运行时,必须根据数据块的特性制定。本文上述三个block相互排斥,在并行运算时,必须遵循以下规则:第M个数据块的readblock ( )、sortblock( )、writeblock( )结束之后,方能开始第M+1个数据块对应的readblock()、sortblock()、writeblock();第M个数据块的readblock( )结束之后方能开始sortblock();第M个数据块的sortblock( )结束之后,方能开始writeblock( )。总之,要保证三个进程并行运行完成对数据的排序工作,如图3所示:

三个进程并行运行可以充分利用系统的CPU、I/0资源,当开始运行后,任一时间都会有readblock ( )、sortblock( )、writeblock( )并行运行。这样保证了进程运行时不存在等待的情况,同时正好是重要路由算法求得的最优执行方案。

在调用三个进程之前,必须要先创建进程,应用进程创建函数。程序执行时顺序完成数据的读入、数据排序和数据的保存。多次测量执行时间后,取平均值,以此为依据启动三个进程。最终,多进程的并行排序得以实现。

4 结束语

当前数据信息量高速增长,信息化建设也逐步推进,人们对数据处理速度提出了更高的要求,计算机速度要求也越来越高,也成为许多学者和专家积极研究探索的重要课题。

二叉排序树查找算法性能分析 篇8

在计算机上, 查找是经常要用到的操作。在数据结构课程中, 查找算法分为静态查找和动态查找两大类。所谓动态查找就是在查找过程中对已存在的数据可能要进行删除操作, 对不存在的数据可能要进行插入操作的一种查找方法。这种查找算法有一定的现实意义。动态查找算法主要为二叉排序 树和平衡二叉树两大类。在此, 研究一下二叉排序树查找算法的性能, 希望对“数据结构”课程的教学研究有一点点启示。 一般地, 找到后带回找到的对象在数据表中的位置, 即指针, 否则带回空指针。

为了讨论方便, 存放数据的二叉链表类型定义如下。语言环境为Turbo C2.0或Visual C++6.0。

2 二叉排序树的建立与查找算法

二叉排序树或者为空, 或者由根结点和左右子树构成, 其中, 根结点上关键字值一定大于其左子树上各结点的关键字值, 而小于其右子树上各结点的关键字值, 其左右子树也是二叉排序树。

在使用二叉排序树查找时, 先要构建一棵二叉排序树。构建时, 按输入的先后顺序将数据插入到二叉排树中即可。因此, 也要用到二叉排序树的插入算法。

2.1 在二叉排序树上的查找算法

这种查找方法也为下面的插入和删除操作做好了必要的准备。当没找到指定元素时, F指向插入位置的叶子结点 (若为空树, 则F为空指针), 可以连接插入的新结点; 当找到指定元素时, F为其双亲结点的指针, 可以删除该元素。

2.2 在二叉排序树上的插入算法

利用查找算法可以完成插入算法的设计。

2.3 建立二叉排序树算法

利用插入算法可以建立二叉排序树。

3 二叉排序树查找算法的性能分析

从二叉排序树的查找算法可以看出, 查找过程实际上是从根结点向终端叶子结点走了一条路径, 那么查找的性能就与二叉排序树的深度有关。最差时, 二叉排序树是一棵单枝树, 深度为n, 则查找的平均性能为O (n); 最好时, 二叉排序树是一棵完全二叉树, 深度不超过log2n+1, 则查找的平均性能为O (log2n)。因此, 在经常进行查找时, 为了更有效地进行查找操作, 有必要将二叉排序树转换成接近于完全二叉树的平衡二叉树 (AVL树)。在此, 只对二叉排序树的查找性能进行分析, 主要研究在等概率前提下计算查找成功与失败时的平均查找长度算法。

3.1 计算查找成功时的平均查找长度算法

上述算法通过队列结构将每个结点装入队列中, 然后依次取出。因为是在该树上取得的结点, 所以一定能够成功地找到记录该结点所在的层次, 即成功时的比较次数。将每个结点的比较次数累计后, 即可计算查找成功时的平均查找长度。算法中, 记录每层最后的位置 (end变量) 是关键点。

3.2 计算查找失败时的平均查找长度算法

上述算法通过队列结构将每个结点的指针装入队列中, 在装入时, 比较失败时的空指针也装入队列中, 然后依次取出。当取出空指针时, 即是一种比较失败的情况, 记录失败时与结点关键字值比较的次数, 即层次。在任意一棵具有n个结点的二叉树中一定有n+1个空指针, 也就是有n+1种失败的情况 (因此, 在定义队列时, 队列长度置为2*N+1)。将每种失败时的比较次数累计后, 即可计算查找失败时的平均查找长度。算法中, 记录每层最后的位置 (end变量) 是关键点。

以上两种算法的特点是: 计算二叉排序的平均查找长度时只与二叉树的树形有关, 关注的是查找成功时结点出现在哪一层上, 查找失败时空指针出现在哪一层上, 而与各个结点的值无关。因此, 在等概率的情况下, 不需要通过值的比较即可以计算出查找成功和失败时的平均查找长度。

4 结语

C语言教学中常用排序方法分析 篇9

C语言是一种经典、强大的面向过程的程序设计语言,虽然现在的程序设计已经全面转向面向对象,但是C本身的设计理念以及对现有C++/C#等语言的深刻影响,使其至今仍是程序设计入门的首选语言。目前各大高校也仍在开设C语言课程,很多高校还将C语言纳入校精品课程建设之中,可见C语言的地位仍然非常重要。

数据的排序是学习C语言经常碰到的问题。所谓排序是指把一组杂乱无章的数按照大小顺序排列。C语言编程中排序的方法很多,教学过程中常见的有交换排序法、选择排序法、冒泡排序法等。每一种排序方法的基本思想、排序过程都不相同,这里对以上几种排序方法进行分析,以方便初学者理解及选择。

以下算法示例都是对10个整数进行从大到小的排序。

2 交换排序法

2.1 基本思想

以第一个数为基准,分别与剩余的九个数作比较,若第一个位的数字小,则两数作交换,直到与九个数都比较完成,这样,最大的数字就排在了第一位;然后再以第二个数为基准,与剩余的八个数作比较,再找出最大的;剩下数位的依次类推,直到全部数据排序完毕。

2.2 算法[1]

2.3 分析

从算法中可以看出,一个数字可能在整个程序过程中被安排多个位置,即进行多次交换,待排序的数字个数越多,这种交换也就越多,势必会影响执行的效率,因此交换排序法很少被使用。但是在教学过程中,能够很容易被学生理解接受,这可以作为排序方法的入门,首先介绍给学生。

3 选择排序法

3.1 基本思想

第一轮,假设a[0]为最大值,并做记号k为0,然后检查剩下的九个数是否有比它大的,若有则记号k重新赋值为大数的下标,全部检查完毕后,大数与a[0]作交换;第二轮,假设a[1]为剩余九个数最大值,然后检查剩下的八个数是否有比它大的,作与第一轮相同的操作;以此类推。即每一步从待排序的数据中选出最大的数据,顺序放在已排好序的子序列的最后,直到全部数据排序完毕。

3.2 算法

3.3 分析

选择排序法是对交换排序法的一个改进算法[1],每一轮的比较中最多只有一次交换操作,整个算法最多有N-1次交换操作。虽然比较操作未能减少,但交换操作可以从总体上减少。教学过程中可以简单引入一些程序的效率概念,特别是对于计算机专业的学生,使他们在今后程序算法的选择上有一些简单的标准。

4 冒泡排序法

4.1 基本思想

对于n个数进行排序,将相邻两个数依次比较,将小数调在后头:也就是说第一个数和第二个数比较,大数放前,小数放后,第二个和第三个进行比较,大数放前、小数放后,然后依次类推……经过第一轮比较以后,我们找到一个最小数在最下面(沉底)。然后进行下一轮比较,最后一个数就不用再参加比较了,所以本轮就可以少比较一次。

4.2 算法[2]

4.3 结论

教学过程中,学生一般对这种排序方法的接受并不是很理想。这种排序法的重点在于要理解双重循环的意义何在,即分别是用于控制什么的,抓住了这点,有利于学生的理解。

5 结束语

以上是对几种C语言教学过程中常见排序方法进行了探讨,关于排序问题,是程序设计中的一项非常重要的内容,实际应用中很广泛,这在这里只做简单的探讨。理解了这几种排序方法,学生对循环结构,特别是多重循环结构将能够很好的掌握。

参考文献

[1]苏小红,陈惠鹏,孙志刚C语言大学实用教程[M].2版.北京:电子工业出版社,2007.

排序分析法 篇10

1 问题定义

定义1、假设D是一个数据库, 包含x个文本型及数值型属性A={A1, A2, !, Am}, n条元组T={T1, T2, !, Tn}, 设Q为D上的一个模糊查询, 如果数据库D中存有海量数据信息, 那么查询后将得到很多足该查询要求的元组, 这种情况即为模糊查询下多查询结果问题。

2 隶属度排序

(1) 属性权重系数。

一个关系中所有属性都是不一样的, 根据对于用户的重要程度, 有的划为重要属性, 有的划为次要属性。本文描述的问题则是由属性权重系数来衡量属性的重要程度的。如果在历史查询记录里, 用户在某些属性上查询的次数越多, 则证明该属性在关系中比较重要, 那么就应该分配比较高的权重系数。反之, 则只能分配较低的权重系数。因此, 根据历史记录里某属性上查询次数来确定权重系数。设F (Ai) 是历史查询记录里在属性Ai上查询的次数, N是查询总数, 那么, Ai的权重系数确定方法如下:

(2) 隶属度排序。

元组对模糊查询的隶属度越高, 那么排序的分值越大。例如:模糊查询“City=Kirkland and View=Oceanv iew and Price close to 3500”, 查询后得到结果, 元组中Price上的属性值都在3400~3600范围内, 计算出每个元组的隶属度, 进而对模糊查询的结果进行自动排序。但是, 经过隶属度排序之后, 查询得到的结果会被划分为许多具有高低不同隶属度的元组集合。这些集合里还会存在具有相同隶属度的元组, 因此还有进一步区分每个集合中隶属度相同的元组。

3 实验分析

(1) 实验环境。

实验数据采用某房地产销售数据库, 选择seattle城市, 经模糊查询后, 元组中约有6万条查询结果, 历史记录中包含200多条指定里几个属性的查询, 在原始数据群里提取5个测试数据集, 把每个测试集大小定为50条元组, 利用5个查询测试条件。每个测试条件Qi对应数据集Hi, 其中包含与Qi相关和无关的元组集合。

(2) 测试排序质量。

由于没有具体的排序质量评估标准, 因此只能以用户对查询结果排序的满意程度来大体的评估排序质量。在上述实验环境下, 对于测试条件Qi, 从Hi中选取与查询条件最为贴合的10个元组进行排序, 在此基础上应用DPR, PR和QFIDF三种排序方法, 比较排序质量。

模糊查询最后是根据阈值和隶属函数将模糊条件变为精确数值区间的, 因此变化厚度查询条件再作为PR和QFIDF方法的查询条件, 从而不论是准确查询还是模糊查询都能得到同样的结果, 最后评估其模糊查询后的排序质量, 对比结果如图1所示。

从图示对比结果来看, DPR排序方法的排序质量较高, PR、QFIDF两种方法排序质量较低。

假定不考虑模糊查询的情况下, 也不考虑隶属度排序对于三种方法排序质量的影响, 只在精确查询的情况下, 对比这三种排序算法的排序质量, 其对比结果如图2所示。

从图示对比结果来看, 在不考虑模糊查询的情况下, 也不考虑隶属度排序对于三种方法排序质量的影响, DPR方法与其两种排序方法相比, 在排序质量上分别提高了约2%~10%, 很明显, 要优于QFIDF排序方法。因此, 可以得出结论, 无论是在模糊查询结果排序方面, 还是在精确查询结果排序方面, DPR排序算法相比较PR和QFIDF两种排序方法, 有着较为明显的优越性。

4 结语

本文根据多年的计算机数据库技术经验, 及参阅了大量的资料和有效数据之后, 对于数据库模糊查询下多结果的自动排序方法基于模糊集理论, 提出了隶属度排序方法。基于PIR改进模型及历史查询记录等来多元化的分析元组中被查询的指定属性值和未指定的属性值他们之间的关联程度, 提出了改了模型排序方法。两种方法综合使用成为了DPR排序方法。经过实验, 数据表明, 对于数据库模糊查询结果的自动排序, DPR排序方法有着较高的排序质量。

参考文献

[1]孟祥福, 马宗民, 严丽.数据库模糊查询结果自动排序方法[J].东北大学学报 (自然科学版) , 2008 (7) .

语句排序技巧突破 篇11

[非语境类]

例1 下列句子排列顺序最恰当的一项是( )

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

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

③问题是怎样产生的呢?

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

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

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

A. ⑥⑤①②③④

B. ④③⑤①②⑥

C. ③①⑤④②⑥

D. ④②①⑤③⑥

解析 做题首先要把握基本内容。不难看出,这是一段议论性的文字,中心句是②句。再初步分层归类。统观这几句,除①②⑤外,③⑥两句也明显不适于作首句,因为分析问题总要有问题在先才行。这样,经过简单的定性与归类后,选项便只剩下B、D两项了。根据②句中代词“此”和转折连词“却”,可以断定②必接于④后,即顺序为④②;根据①和⑤两句中的关联词“则”,可断定这两句的顺序应是①⑤,并且应当在②后对②中的“不同景观”进行解说,然后③句过渡,⑥句指明原因。最后检查调整并确定。D项符合提出问题(④②)——列举现象(①⑤)——指明原因(③⑥)这一思路,因此,D项正确。

点拨 一般说来,解答这类题需要经过四步,即把握基本内容、初步分层归类、连缀排列顺序、检查调整确定。

(1)把握基本内容。首先应对所有语句进行总体分析,初步判断需调整语段的基本表达方式——记叙、描写、抒情、议论、说明等基本内容倾向,然后抓住其关键语句及能表明层次的语句。

(2)初步分层归类。在第一步的基础之上,初步确定开头、主体和结尾,并把有关语句分层次归类。这样可把众多的语句先划分为几个小组,便于局部小范围排序。

(3)连缀排列顺序。这是排序的关键一环。一般先在小范围内排序,然后再考查层次间的衔接,即先将其中连缀特征明显的句子连接成若干个小句群,然后再把这些小句群连成大句群。这其中应先找出关联词、代词、副词以及表时间、地点的词语,然后据此进行句间连缀排列,是一种切实有效的方法。

(4)检查调整确定。在上面排列的基础之上,再通读语段,分析思路是否清晰和自然贯通,结构是否相对完整,句间层次关系是否恰当。若检查出有不当之处,立即调整。在整体审视之后,可最终确定答案。

[语境类]

从命题的形式上看,这类题又可分为两类:一类是直接设置语境,即提供出具体的上下文;一类是间接设置语境,即按特定的要求调整语序。这两类题从具体操作上又有所不同。下面,结合具体实例,就其连缀的基本技巧分别予以说明。

1. 直接设置语境类

例2 将下列四句话填在下面的横线上,顺序最恰当的一组是( )

某校师生野营训练来到村里,

和村民们一道投入抢收战斗。

①就像勇猛的战士一样,②不顾一天行军的疲劳,③马上扔下背包,④听到大雨即将来临的广播,

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

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

解析 首先对所提供的四个语句进行排序。这几句话主要是描写行动的,人们的行动很迅速、很勇猛,为什么?是因为“听到了大雨即将来临的广播”。因此,④句应放在首句的位置。下面的几个语句应注意前后承接,通常思路为:①先不顾疲劳,再行动,这样,②句应放在行动性较强的①③句之前,结合四个选项,初步选定C,即④②③①。然后分析整体语境。整个语段要表达的是:野营队来到村里,然后抢收。这样,来到村里——听到广播——不顾疲劳——扔下背包——投入战斗,自然连贯,语意贯通;①句自然作“投入战斗”的状语,排序基本确定为④②③①。最后再审察调整。经过语境分析,句间关系分析,确定无误。因此,选C项。

点拨 由于设置了具体语境,这类调整语序的题目在具体完成时必须充分考虑到与上下文的衔接问题。否则,即使内部排序得当,也会因与上下文衔接不当而功亏一篑。一般来说,解答这类题需按三步进行,即内部连缀排序,分析整体语境,审察调整确定。

(1)内部连缀排序。首先对需要排序的各句进行分析,依照前文对“非语境类”排序的有关方法,对语句进行初步排序。

(2)分析整体语境。内部连缀排序,只是对需排序语句的初步层次性整理,是否合理并符合要求,还要看一看上下文的语境,分析整个语段的基本内容、层次顺序、观点倾向等。

(3)审察调整确定。在对整体语境把握的基础上,贯通总体思路,理顺语段层次。经过审读分析,可最后确定。

2.间接设置语境类

此类题虽然无具体的语境设置,但是有明确的要求限制,因而,排序之前应当首先考虑到这些要求,然后再进行排序。下面结合有关试题具体分析。

例3 根据表达需要,恰当排列下面语句的顺序。

A. 离闹市很远 B. 这地方

C. 因为 D. 一直未被人注意

E. 保守的成分很多

要求:①强调地处偏僻是造成一切的原因。②强调此处比较保守。③解释此处为什么不被注意。④陈述这地方为什么落后。

解析 ①②均要求强调一定的内容,因此应当首先考虑如何强调的问题。一般说来,总要把强调的内容放在句首(定语后置表强调例外)。①中要求强调的是“地处偏僻”这一原因,因此应当把C—A放在句首,其余项依据逻辑顺序则为B—E—D,那么符合要求①的答案就应该是C—A—B—E—D。同理,符合要求②的答案就应当是B—E—C—A—D。符合要求③的是解释“不被注意”的原因,就应当把要解释的内容说出来,然后再解释。据此,其正确的排列顺序就应当是B—D—C—A—E。至于符合要求④的“陈述落后的原因”,那么就该按照通常先因后果的顺序排列为B—C—A—E—D。

排序分析法 篇12

一、使用“数据分析”功能的基本方法

Excel提供了“数据分析”工具包,包含常用的方差分析、描述统计、直方图、回归分析、t-检验等分析工具。若要使用这些工具,应先单击“工具”菜单中的“数据分析”。首次调用,需先加载宏“分析工具库”。步骤如下:

1.在“工具”菜单上,单击“加载宏”。

2.在“可用加载宏”列表中,选中“分析工具库”框,再单击“确定”。出现“数据分析”菜单。

3.选择“工具”菜单中的“数据分析”,出现“数据分析”对话框,单击要使用的分析工具的名称,再单击“确定”。

二、分析学生成绩绘制频率直方图的基本步骤

我们以2010年级某专业同学某门课程期末成绩为例,我们来讨论绘制频率直方图的主要步骤:

(一)输入数据,进行区域排序

为方便起见,将82个数据以矩阵形式输入到学生成绩统计表中,存入Excel的工作表中的适当区域。

学生成绩原始数据:

将学生成绩数据存放后,利用SMALL函数进行排序,排序公式SMALL(数据存放区域,ROW (Amn)*k+column (Amn)-mk-(n-1)), Amn为存放第一个数据所在位置,k为排序后每一行存放数据个数。任选新的区域存放排序后数据,选横拉k个数,再下拉,直到数据排序完毕。得到如下成绩表:当然也可以把学生成绩输入为一列,再利用Excel排序功能进行排序。

(二)点击工具数据分析描述统计,选定原始数据列存放形式,任选结果输出区域,得到统计描述结果

从中看出,82个学生平均成绩为73.89分,方差为307.18.

(三)计算极差R

最大的数据减去最小的数据

R=xmax-xmin=99-18=81

(四) 分组

1. 根据要求,不及格为0~59分,及格60~75,良好

左端点,右端点为b,所表示区间范围:

(五)生成频数分布表和直方图

1. 打开“工具/数据分析”,在分析工具窗口中选择“直方图”;点击确定。

2. 在直方图弹出窗口“输入区域”输入数据方阵“82位学生成绩数据位置”:

在“接收区域”输入分组右端点所在列区域:

3. 在输出选项中,点击“输出区域”,表示频率数表输出存放区域,位置任选。

4. 在输出选项中,点击“图表输出”。其他选项,若没需要,可以不选。

点击“确定”按钮,立即显示如下所示的频率分布表(表1)和直方图(图1)。

注:1.此图表中的“频率”实乃频数,所以应将表中“频率”改为“频数”,接收区改为相应分组文字,得表2

2.直方图是按照左开右闭的方式对落在各区间的数据进行频数统计绘制的;

3.从直方图来看,学生成绩基本符合正态分布。

(六)修改频率分布表

另存表(2)为表(3),将表(2)“频率”改为“频数”,并在频数列右侧增加一列频率,计算频率。即频率=小组频数,本例中,只需计算第一组的频率,下拉即可数据总数

得这列频率数据值。修改后频率分布表见表3

(七) 完成频率分布直方图

将表(2)频数列替换成表(3)频率列,点击右键数据标志格式,得到频率分布直方图(见图2)。

此种绘制方法可以用在工程上,可以作进一步修改,使之符合我们使用要求。

我们还可以用Excel解决回归分析、t-检验等各种统计问题,无需编程序就可以进行工程上的复杂计算。Excel相对简单易学,这对于我们增强职校学生动手解决实际问题能力,是非常有实用价值的。

参考文献

上一篇:会计控制体系下一篇:价值初探