排序习题参考标准答案

合集下载

人教版小学四年级下册语文排序专项练习题及答案

人教版小学四年级下册语文排序专项练习题及答案

人教版小学四年级下册语文排序专项练习题及答案(一)()田野的尽头,连绵的山峰像海里起伏的波涛。

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

()小溪的另一边是田野,如今黄澄澄的,正报告着丰收的喜讯。

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

()山腰上的公路,像一条银灰色的绸带飘向远方。

()小溪的一边是果园,春天,花香弥漫;秋天,硕果累累。

参考答案:5、2、4、1、6、3(二)()人们都说这个山村像一幅风景画。

()村前有一口大水塘,塘水清如明镜。

()山脚下有一个村子,村子景色秀丽。

()塘里荷花点点,偶尔有小鱼跳出水面。

()村后有一片青翠的竹林,林中鸟声清脆悦耳。

()水里倒映着蓝天白云。

答案:6、2、1、4、5、3(三)()一听到这熟悉的叫声,我就猜准它一定生蛋了。

()我高兴地把蛋捡在手里,还热乎乎的呢。

()跨进屋门,果然,一个鹅蛋似的双黄蛋躺在鸡窝里。

()一天下午,我参加学习小组后回家,老远就听到我家的那只老母鸡“咯咯哒”、“咯咯哒”地在房子里叫个不停。

答案:2、4、3、1。

(四)()当太阳一落山,黄昏的薄霭像轻纱一样笼罩山野的时候,青蛙便逐渐热闹起来。

()蛙们纷纷跳入稻田去了,蛙声也暂时停息。

()这时候,人要是从田埂上经过,就听见路两旁扑通扑通的声音。

()但是人刚一走过,他们又扯开嗓子,放肆地叫起来。

()乡村的夏夜,便是蛙的世界。

答案:2、4、3、5、1(五)()一大滴松脂从树上滴下来,把苍蝇和蜘蛛包在了里面。

()松脂球埋在泥沙里成了化石。

()地壳变动了,森林被海水淹没了。

()松脂不断往下滴,盖住了原来的地方,积成了一个松脂球。

()一个夏天的晌午,热辣辣的太阳照射着松树林。

()一只蜘蛛想把苍蝇当美餐,向它扑过去。

答案:3、6、5、4、1、2(六)()“快跳下去!快跳下去!”一个水手一边喊,一边跳到礁石上。

()大家站在水里,用手推着,用肩膀抵着,用背顶着,让船绕过那块石头,又上船来。

()这时候,一个浪头打来,船飞快地往一块礁石撞去。

数据结构第九章排序习题与答案

数据结构第九章排序习题与答案

习题九排序一、单项选择题1.下列内部排序算法中:A.快速排序 B.直接插入排序C. 二路归并排序D.简单选择排序E. 起泡排序F.堆排序(1)其比较次数与序列初态无关的算法是()(2)不稳定的排序算法是()(3)在初始序列已基本有序(除去n 个元素中的某 k 个元素后即呈有序, k<<n)的情况下,排序效率最高的算法是()(4)排序的平均时间复杂度为O(n?logn)的算法是()为 O(n?n) 的算法是()2.比较次数与排序的初始状态无关的排序方法是( )。

A.直接插入排序B.起泡排序C.快速排序D.简单选择排序3.对一组数据( 84, 47, 25, 15, 21)排序,数据的排列次序在排序的过程中的变化为(1) 84 47 25 15 21(2) 15 47 25 84 21(3) 15 21 25 84 47(4) 15 21 25 47 84则采用的排序是 ()。

A. 选择B.冒泡C.快速D.插入4.下列排序算法中 ( )排序在一趟结束后不一定能选出一个元素放在其最终位置上。

A. 选择B.冒泡C.归并D.堆5.一组记录的关键码为(46,79,56, 38,40, 84),则利用快速排序的方法,以第一个记录为基准得到的一次划分结果为()。

A. (38,40,46,56,79,84) B. (40,38,46,79,56,84)C. (40,38,46,56,79,84) D. (40,38,46,84,56,79)6.下列排序算法中,在待排序数据已有序时,花费时间反而最多的是()排序。

A.冒泡 B. 希尔C. 快速D. 堆7.就平均性能而言,目前最好的内排序方法是() 排序法。

A. 冒泡B.希尔插入C.交换D.快速8.下列排序算法中,占用辅助空间最多的是:()A. 归并排序B.快速排序C.希尔排序D.堆排序9.若用冒泡排序方法对序列 {10,14,26,29,41,52}从大到小排序,需进行()次比较。

(完整版)排序练习题(答案)

(完整版)排序练习题(答案)

A. 3, 5, 7, 9, 12, 10, 15, 1B. 3, 5, 9, 7, 12, 10, 15, 1单项选择题若对 n 个元素进行直接插入排序,在进行第 i 趟排序时, 则需要移动元素的次数为(在对 n 个元素进行直接插入排序的过程中, A. O(1) B. O(log 2n)算法的空间复杂度为( )。

2C. O(n 2)D. O(nlog 2n)对下列四个序列进行快速排序,各以第一个元素为基准进行第一次划分,则在该次划分过程中 需要移动元素次数最多的序列为( )。

排序》练习题1.2.3.4.5.6.7.8.9.10.11.12. A. j-i B. i-j-1 C. i-j D. i-j+1在对 n 个元素进行直接插入排序的过程中,共需要进行( A. n B. n+1 C. n-1 )趟。

D. 2n在对 n 个元素进行冒泡排序的过程中,最好情况下的时间复杂度为( 2A. O(1)B. O(log 2n)C. O(n 2) D. O(n))。

在对 n 个元素进行快速排序的过程中,若每次划分得到的左、右两个子区间中元素的个数相等 或只差一个,则排序的时间复杂度为( A. O(1) B. O(nlog 2n) )。

2C. O(n 2)D. O(n) 设一组初始记录关键字序列 (5,2,6, 进行比较,则第一趟冒泡排序的结果为( (A) 2 ,5,3,6, 8(C) 2 ,3,5,6, 8 3,8),利用冒泡排序进行升序排序,且排序中从后往前 )。

(B) 2 ,5,6,3,8(D) 2 ,3,6,5,8)。

假定元素 r[i+1] 的插入位置为 r[j] , A. 1, 3, 5, 7, 9 B. 9, 7, 5, 3, 1C. 5, 1, 3, 7, 9D. 5, 7, 9, 3, 1在对 n 个元素进行堆排序的过程中,时间复杂度为(2A. O(1)B. O(log 2n)C. O(n 2))。

排列组合经典练习(带答案)

排列组合经典练习(带答案)

排列与组合习题1.6个人分乘两辆不同的汽车,每辆车最多坐4人,则不同的乘车方法数为() A.40B.50C.60D.70[解析]先分组再排列,一组2人一组4人有C26=15种不同的分法;两组各3人共有C36A22=10种不同的分法,所以乘车方法数为25×2=50,故选B.2.有6个座位连成一排,现有3人就坐,则恰有两个空座位相邻的不同坐法有()A.36种B.48种C.72种D.96种[解析]恰有两个空座位相邻,相当于两个空位与第三个空位不相邻,先排三个人,然后插空,从而共A33A24=72种排法,故选C.3.只用1,2,3三个数字组成一个四位数,规定这三个数必须同时使用,且同一数字不能相邻出现,这样的四位数有()A.6个B.9个C.18个D.36个[解析]注意题中条件的要求,一是三个数字必须全部使用,二是相同的数字不能相邻,选四个数字共有C13=3(种)选法,即1231,1232,1233,而每种选择有A22×C23=6(种)排法,所以共有3×6=18(种)情况,即这样的四位数有18个.4.男女学生共有8人,从男生中选取2人,从女生中选取1人,共有30种不同的选法,其中女生有() A.2人或3人B.3人或4人C.3人D.4人[解析]设男生有n人,则女生有(8-n)人,由题意可得C2n C18-n=30,解得n=5或n=6,代入验证,可知女生为2人或3人.5.某幢楼从二楼到三楼的楼梯共10级,上楼可以一步上一级,也可以一步上两级,若规定从二楼到三楼用8步走完,则方法有()A.45种B.36种C.28种D.25种[解析]因为10÷8的余数为2,故可以肯定一步一个台阶的有6步,一步两个台阶的有2步,那么共有C28=28种走法.6.某公司招聘来8名员工,平均分配给下属的甲、乙两个部门,其中两名英语翻译人员不能分在同一个部门,另外三名电脑编程人员也不能全分在同一个部门,则不同的分配方案共有()A.24种B.36种C.38种D.108种[解析]本题考查排列组合的综合应用,据题意可先将两名翻译人员分到两个部门,共有2种方法,第二步将3名电脑编程人员分成两组,一组1人另一组2人,共有C13种分法,然后再分到两部门去共有C13A22种方法,第三步只需将其他3人分成两组,一组1人另一组2人即可,由于是每个部门各4人,故分组后两人所去的部门就已确定,故第三步共有C13种方法,由分步乘法计数原理共有2C13A22C13=36(种).7.已知集合A={5},B={1,2},C={1,3,4},从这三个集合中各取一个元素构成空间直角坐标系中点的坐标,则确定的不同点的个数为()A.33 B.34 C.35 D.36[解析]①所得空间直角坐标系中的点的坐标中不含1的有C12·A33=12个;②所得空间直角坐标系中的点的坐标中含有1个1的有C12·A33+A33=18个;③所得空间直角坐标系中的点的坐标中含有2个1的有C13=3个.故共有符合条件的点的个数为12+18+3=33个,故选A.8.由1、2、3、4、5、6组成没有重复数字且1、3都不与5相邻的六位偶数的个数是() A.72 B.96 C.108 D.144[解析]分两类:若1与3相邻,有A22·C13A22A23=72(个),若1与3不相邻有A33·A33=36(个)故共有72+36=108个.9.如果在一周内(周一至周日)安排三所学校的学生参观某展览馆,每天最多只安排一所学校,要求甲学校连续参观两天,其余学校均只参观一天,那么不同的安排方法有()A.50种B.60种C.120种D.210种[解析]先安排甲学校的参观时间,一周内两天连排的方法一共有6种:(1,2)、(2,3)、(3,4)、(4,5)、(5,6)、(6,7),甲任选一种为C16,然后在剩下的5天中任选2天有序地安排其余两所学校参观,安排方法有A25种,按照分步乘法计数原理可知共有不同的安排方法C16·A25=120种,故选C.10.安排7位工作人员在5月1日到5月7日值班,每人值班一天,其中甲、乙二人都不能安排在5月1日和2日,不同的安排方法共有________种.(用数字作答)[解析]先安排甲、乙两人在后5天值班,有A25=20(种)排法,其余5人再进行排列,有A55=120(种)排法,所以共有20×120=2400(种)安排方法.11.今有2个红球、3个黄球、4个白球,同色球不加以区分,将这9个球排成一列有________种不同的排法.(用数字作答)[解析]由题意可知,因同色球不加以区分,实际上是一个组合问题,共有C49·C25·C33=1260(种)排法.12.将6位志愿者分成4组,其中两个组各2人,另两个组各1人,分赴世博会的四个不同场馆服务,不同的分配方案有________种(用数字作答).[解析]先将6名志愿者分为4组,共有C26C24A22种分法,再将4组人员分到4个不同场馆去,共有A 44种分法,故所有分配方案有:C 26·C 24A 22·A 44=1 080种. 13.要在如图所示的花圃中的5个区域中种入4种颜色不同的花,要求相邻区域不同色,有________种不同的种法(用数字作答).[解析] 5有4种种法,1有3种种法,4有2种种法.若1、3同色,2有2种种法,若1、3不同色,2有1种种法,∴有4×3×2×(1×2+1×1)=72种.14. 将标号为1,2,3,4,5,6的6张卡片放入3个不同的信封中.若每个信封放2张,其中标号为1,2的卡片放入同一信封,则不同的方法共有(A )12种 (B )18种 (C )36种 (D )54种【解析】标号1,2的卡片放入同一封信有种方法;其他四封信放入两个信封,每个信封两个有种方法,共有种,故选B.15. 某单位安排7位员工在10月1日至7日值班,每天1人,每人值班1天,若7位员工中的甲、乙排在相邻两天,丙不排在10月1日,丁不排在10月7日,则不同的安排方案共有A. 504种B. 960种C. 1008种D. 1108种 解析:分两类:甲乙排1、2号或6、7号 共有4414222A A A ⨯种方法甲乙排中间,丙排7号或不排7号,共有)(43313134422A A A A A +种方法故共有1008种不同的排法16. 由1、2、3、4、5、6组成没有重复数字且1、3都不与5相邻的六位偶数的个数是 (A )72 (B )96 (C ) 108 (D )144 解析:先选一个偶数字排个位,有3种选法①若5在十位或十万位,则1、3有三个位置可排,32232A A =24个②若5排在百位、千位或万位,则1、3只有两个位置可排,共32222A A =12个算上个位偶数字的排法,共计3(24+12)=108个 答案:C17. 在某种信息传输过程中,用4个数字的一个排列(数字允许重复)表示一个信息,不同排列表示不同信息,若所用数字只有0和1,则与信息0110至多有两个对应位置上的数字相同的信息个数为 A.10 B.11 C.12 D.1518. 现安排甲、乙、丙、丁、戌5名同学参加上海世博会志愿者服务活动,每人从事翻译、导游、礼仪、司机四项工作之一,每项工作至少有一人参加。

排列组合经典练习(带答案)

排列组合经典练习(带答案)

排列与组合习题1.6个人分乘两辆不同的汽车,每辆车最多坐4人,则不同的乘车方法数为( ) A.40 B.50 C.60 D.70[解析] 先分组再排列,一组2人一组4人有C26=15种不同的分法;两组各3人共有C36A22=10种不同的分法,所以乘车方法数为25×2=50,故选B.2.有6个座位连成一排,现有3人就坐,则恰有两个空座位相邻的不同坐法有( ) A.36种B.48种 C.72种D.96种[解析] 恰有两个空座位相邻,相当于两个空位与第三个空位不相邻,先排三个人,然后插空,从而共A33A24=72种排法,故选C.3.只用1,2,3三个数字组成一个四位数,规定这三个数必须同时使用,且同一数字不能相邻出现,这样的四位数有( )A.6个B.9个 C.18个D.36个[解析] 注意题中条件的要求,一是三个数字必须全部使用,二是相同的数字不能相邻,选四个数字共有C13=3(种)选法,即1231,1232,1233,而每种选择有A22×C23=6(种)排法,所以共有3×6=18(种)情况,即这样的四位数有18个.4.男女学生共有8人,从男生中选取2人,从女生中选取1人,共有30种不同的选法,其中女生有( )A.2人或3人 B.3人或4人 C.3人 D.4人[解析] 设男生有n人,则女生有(8-n)人,由题意可得C2n C18-n=30,解得n=5或n =6,代入验证,可知女生为2人或3人.5.某幢楼从二楼到三楼的楼梯共10级,上楼可以一步上一级,也可以一步上两级,若规定从二楼到三楼用8步走完,则方法有( )A.45种B.36种 C.28种D.25种[解析] 因为10÷8的余数为2,故可以肯定一步一个台阶的有6步,一步两个台阶的有2步,那么共有C28=28种走法.6.某公司招聘来8名员工,平均分配给下属的甲、乙两个部门,其中两名英语翻译人员不能分在同一个部门,另外三名电脑编程人员也不能全分在同一个部门,则不同的分配方案共有( )A.24种B.36种 C.38种D.108种[解析] 本题考查排列组合的综合应用,据题意可先将两名翻译人员分到两个部门,共有2种方法,第二步将3名电脑编程人员分成两组,一组1人另一组2人,共有C13种分法,然后再分到两部门去共有C13A22种方法,第三步只需将其他3人分成两组,一组1人另一组2人即可,由于是每个部门各4人,故分组后两人所去的部门就已确定,故第三步共有C13种方法,由分步乘法计数原理共有2C13A22C13=36(种).7.已知集合A={5},B={1,2},C={1,3,4},从这三个集合中各取一个元素构成空间直角坐标系中点的坐标,则确定的不同点的个数为( )A.33 B.34 C.35 D.36[解析] ①所得空间直角坐标系中的点的坐标中不含1的有C12·A33=12个;②所得空间直角坐标系中的点的坐标中含有1个1的有C12·A33+A33=18个;③所得空间直角坐标系中的点的坐标中含有2个1的有C13=3个.故共有符合条件的点的个数为12+18+3=33个,故选A.8.由1、2、3、4、5、6组成没有重复数字且1、3都不与5相邻的六位偶数的个数是( )A.72 B.96 C.108 D.144[解析] 分两类:若1与3相邻,有A22·C13A22A23=72(个),若1与3不相邻有A33·A33=36(个)故共有72+36=108个.9.如果在一周内(周一至周日)安排三所学校的学生参观某展览馆,每天最多只安排一所学校,要求甲学校连续参观两天,其余学校均只参观一天,那么不同的安排方法有( )A.50种B.60种 C.120种D.210种[解析] 先安排甲学校的参观时间,一周内两天连排的方法一共有6种:(1,2)、(2,3)、(3,4)、(4,5)、(5,6)、(6,7),甲任选一种为C16,然后在剩下的5天中任选2天有序地安排其余两所学校参观,安排方法有A25种,按照分步乘法计数原理可知共有不同的安排方法C16·A25=120种,故选C.10.安排7位工作人员在5月1日到5月7日值班,每人值班一天,其中甲、乙二人都不能安排在5月1日和2日,不同的安排方法共有________种.(用数字作答)[解析] 先安排甲、乙两人在后5天值班,有A25=20(种)排法,其余5人再进行排列,有A55=120(种)排法,所以共有20×120=2400(种)安排方法.11.今有2个红球、3个黄球、4个白球,同色球不加以区分,将这9个球排成一列有________种不同的排法.(用数字作答)[解析] 由题意可知,因同色球不加以区分,实际上是一个组合问题,共有C49·C25·C33=1260(种)排法.12.将6位志愿者分成4组,其中两个组各2人,另两个组各1人,分赴世博会的四个不同场馆服务,不同的分配方案有________种(用数字作答).[解析] 先将6名志愿者分为4组,共有C26C 24A22种分法,再将4组人员分到4个不同场馆去,共有A44种分法,故所有分配方案有:C26·C24A22·A44=1 080种.13.要在如图所示的花圃中的5个区域中种入4种颜色不同的花,要求相邻区域不同色,有________种不同的种法(用数字作答).[解析] 5有4种种法,1有3种种法,4有2种种法.若1、3同色,2有2种种法,若1、3不同色,2有1种种法,∴有4×3×2×(1×2+1×1)=72种.14. 将标号为1,2,3,4,5,6的6张卡片放入3个不同的信封中.若每个信封放2张,其中标号为1,2的卡片放入同一信封,则不同的方法共有(A)12种(B)18种(C)36种(D)54种【解析】标号1,2的卡片放入同一封信有种方法;其他四封信放入两个信封,每个信封两个有种方法,共有种,故选B.15. 某单位安排7位员工在10月1日至7日值班,每天1人,每人值班1天,若7位员工中的甲、乙排在相邻两天,丙不排在10月1日,丁不排在10月7日,则不同的安排方案共有A. 504种B. 960种C. 1008种D. 1108种解析:分两类:甲乙排1、2号或6、7号 共有4414222A A A ⨯种方法 甲乙排中间,丙排7号或不排7号,共有)(43313134422A A A A A +种方法 故共有1008种不同的排法16. 由1、2、3、4、5、6组成没有重复数字且1、3都不与5相邻的六位偶数的个数是 (A )72 (B )96 (C ) 108 (D )144 *s 5* o*m 解析:先选一个偶数字排个位,有3种选法*s 5* o*m①若5在十位或十万位,则1、3有三个位置可排,32232A A =24个②若5排在百位、千位或万位,则1、3只有两个位置可排,共32222A A =12个 算上个位偶数字的排法,共计3(24+12)=108个答案:C17. 在某种信息传输过程中,用4个数字的一个排列(数字允许重复)表示一个信息,不同排列表示不同信息,若所用数字只有0和1,则与信息0110至多有两个对应位置上的数字相同的信息个数为18. 现安排甲、乙、丙、丁、戌5名同学参加上海世博会志愿者服务活动,每人从事翻译、导游、礼仪、司机四项工作之一,每项工作至少有一人参加。

语文排序练习题及答案

语文排序练习题及答案

语文排序练习题及答案一、根据句意选择合适的词语并按顺序排列1. 天空中乌云密布,空气中弥漫着新鲜的空气,小鸟在树枝上欢快地歌唱。

答案:新鲜的空气 - 天空中乌云密布 - 小鸟在树枝上欢快地歌唱2. 外面又下起了雨,我拿起雨伞走出门外,踩着湿润的地面走向学校。

答案:外面又下起了雨 - 我拿起雨伞走出门外 - 踩着湿润的地面走向学校3. 他冲到赛场上,眼神专注地看着前方,全力以赴地奔跑着。

答案:眼神专注地看着前方 - 全力以赴地奔跑着 - 他冲到赛场上4. 这本书内容充实,语言通俗易懂,是一本很不错的读物。

答案:语言通俗易懂 - 这本书内容充实 - 是一本很不错的读物二、根据句意选择合适的句子并按顺序排列1. 小明是我们班的体育委员,他负责组织各种运动活动,积极向班级成员宣传运动的好处。

2. 小华在班级中备受大家欢迎,她总是乐于助人,对待每个人都友善而真诚。

3. 小红是一个勤奋努力的同学,她学习成绩优秀,经常在考试中取得好成绩。

4. 小李是一个富有创造力的学生,他总能提出很多有趣的点子,给课堂增添了一些乐趣。

5. 小明、小华、小红、小李,这些同学都是我们班级中的班干部,他们各自的优点让班级更加和谐。

答案:2 - 3 - 4 - 1 - 5三、阅读短文,将下列句子按照顺序重新排列组成一篇完整的文章A. 爸爸在一旁微笑着观察,妈妈则给了我一个鼓励的眼神。

B. 我打开了自己的礼物,正是一本我一直期盼的新书。

C. 我的生日终于到了,家人纷纷送上了祝福和礼物。

D. 整个生日过程充满了温馨和快乐的氛围。

E. 姐姐亲手制作了一张精美的生日卡片,让我感到既惊喜又感动。

答案:C - D - E - A - B四、将下列诗句按照正确的顺序排列,使其能够组成一首完整的诗歌A. 春风十里染梨花,满园春色喜欢家。

B. 细雨洗尽春风化,轻舞繁华如梦家。

C. 花开堪折直须折,莫待无花空折枝。

D. 万紫千红总是春,无边丝雨绕红楼。

语文部编版五年级下册《句子排序》专项练习(共1附参考答案)

语文部编版五年级下册《句子排序》专项练习(共1附参考答案)

语文部编版五年级下册《句子排序》专项练习一、句子排序练习1. 排列题题目一把句子组成一个完整的段落。

1. 农夫在农田里播种庄稼。

2. 阳光下的农田在微风中轻轻摇曳。

3. 稻谷、小麦、玉米一片绿油油。

4. 一只白色的小兔子跳来跳去。

5. 这里有一片甘甜可口的果园。

6. 夏天来了,大地变得生机勃勃。

参考答案6.夏天来了,大地变得生机勃勃。

3.稻谷、小麦、玉米一片绿油油。

2.阳光下的农田在微风中轻轻摇曳。

1.农夫在农田里播种庄稼。

4.一只白色的小兔子跳来跳去。

5.这里有一片甘甜可口的果园。

2. 排序题题目二根据句子的逻辑顺序,将下面五个句子重新排列成一个完整的故事。

1. 从此以后,二姐他们三位越来越亲,经常在一起玩。

2. 家长们都喜欢这样认真照顾小孩的大哥。

3. 家里有两个弟弟,可以说“二姐”负担很轻。

4. 故事的开头是“二姐”照顾自己两位弟弟的生活行动。

5. 最后“二姐”对他说:“谢谢大哥照顾我们,要多多学习!”参考答案4.故事的开头是“二姐”照顾自己两位弟弟的生活行动。

3.家里有两个弟弟,可以说“二姐”负担很轻。

1.从此以后,二姐他们三位越来越亲,经常在一起玩。

2.家长们都喜欢这样认真照顾小孩的大哥。

5.最后“二姐”对他说:“谢谢大哥照顾我们,要多多学习!”二、总结通过以上句子排序练习,孩子们可以提升对句子逻辑关系的理解和归纳能力,培养逻辑思维和综合分析的能力。

希望同学们在接下来的学习中能够继续努力,提高自己的语文水平。

以上为语文部编版五年级下册《句子排序》专项练习的内容和参考答案。

愿学习顺利,成绩优秀!。

排序练习题及答案

排序练习题及答案

第10章排序练习题及答案(总3页)-本页仅作为预览文档封面,使用时请删除本页-第十章排序一、选择题1.某内排序方法的稳定性是指( D )。

A.该排序算法不允许有相同的关键字记录 B.该排序算法允许有相同的关键字记录C.平均时间为0(n log n)的排序方法 D.以上都不对2.下列排序算法中,其中( D )是稳定的。

A. 堆排序,冒泡排序B. 快速排序,堆排序C. 直接选择排序,归并排序D. 归并排序,冒泡排序3.稳定的排序方法是( B )A.直接插入排序和快速排序 B.折半插入排序和起泡排序C.简单选择排序和四路归并排序 D.树形选择排序和shell排序4.下列排序方法中,哪一个是稳定的排序方法( B)A.直接选择排序 B.二分法插入排序 C.希尔排序 D.快速排序5.若要求尽可能快地对序列进行稳定的排序,则应选(B)。

A.快速排序 B.归并排序 C.冒泡排序6.如果待排序序列中两个数据元素具有相同的值,在排序前后它们的相互位置发生颠倒,则称该排序算法是不稳定的。

( CE )就是不稳定的排序方法。

A.起泡排序 B.归并排序 C.Shell排序 D.直接插入排序 E.简单选择排序7.若需在O(nlog2n)的时间内完成对数组的排序,且要求排序是稳定的,则可选择的排序方法是( C )。

A. 快速排序B. 堆排序C. 归并排序D. 直接插入排序8.下面的排序算法中,不稳定的是( CDF )A.起泡排序B.折半插入排序C.简单选择排序D.希尔排序E.基数排序F.堆排序。

9.下列内部排序算法中:A.快速排序 B.直接插入排序 C. 二路归并排序 D. 简单选择排序 E. 起泡排序 F. 堆排序(1)其比较次数与序列初态无关的算法是(CDF )(2)不稳定的排序算法是(ADF )(3)在初始序列已基本有序(除去n个元素中的某k个元素后即呈有序,k<<n)的情况下,排序效率最高的算法是( B )(4)排序的平均时间复杂度为O(n•logn)的算法是( ACF )为O(n•n)的算法是(BDE )。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

排序习题参考标准答案————————————————————————————————作者:————————————————————————————————日期:习题七参考答案一、选择题1.内部排序算法的稳定性是指( D )。

A.该排序算法不允许有相同的关键字记录B.该排序算法允许有相同的关键字记录C.平均时间为0(n log n)的排序方法D.以上都不对2.下面给出的四种排序算法中,( B )是不稳定的排序。

A.插入排序B.堆排序C.二路归并排序D.冒泡排序3. 在下列排序算法中,哪一种算法的时间复杂度与初始排序序列无关(D )。

A.直接插入排序B.冒泡排序C.快速排序D.直接选择排序4.关键字序列(8,9,10,4,5,6,20,1,2)只能是下列排序算法中( C )的两趟排序后的结果。

A.选择排序 B.冒泡排序 C.插入排序 D.堆排序5.下列排序方法中,( D )所需的辅助空间最大。

A.选择排序B.希尔排序C.快速排序D.归并排序6.一组记录的关键字为(46,79,56,38,40,84),则利用快速排序的方法,以第一个记录为支点得到的一次划分结果为(C )。

A.(38,40,46,56,79,84) B.(40,38,46,79,56,84)C.(40,38,46,56,79,84) D.(40,38,46,84,56,79)7.在对一组关键字序列{70,55,100,15,33,65,50,40,95},进行直接插入排序时,把65插入,需要比较( A )次。

A. 2B. 4C. 6D. 88.从待排序的序列中选出关键字值最大的记录放到有序序列中,该排序方法称为( B )。

A. 希尔排序B. 直接选择排序C. 冒泡排序D. 快速排序9.当待排序序列基本有序时,以下排序方法中,( B )最不利于其优势的发挥。

A. 直接选择排序B. 快速排序C.冒泡排序D.直接插入排序10.在待排序序列局部有序时,效率最高的排序算法是( B )。

A. 直接选择排序B. 直接插入排序C. 快速排序D.归并排序二、填空题1.执行排序操作时,根据使用的存储器可将排序算法分为内排序和外排序。

2.在对一组记录序列{50,40,95,20,15,70,60,45,80}进行直接插入排序时,当把第7个记录60插入到有序表中时,为寻找插入位置需比较 3 次。

3.在直接插入排序和直接选择排序中,若初始记录序列基本有序,则选用直接插入排序。

4.在对一组记录序列{50,40,95,20,15,70,60,45,80}进行直接选择排序时,第4次交换和选择后,未排序记录为{50,70,60,95,80}。

5.n个记录的冒泡排序算法所需的最大移动次数为3n(n-1)/2 ,最小移动次数为0 。

6.对n个结点进行快速排序,最大的比较次数是n(n-1)/2 。

7.对于堆排序和快速排序,若待排序记录基本有序,则选用堆排序。

8.在归并排序中,若待排序记录的个数为20,则共需要进行5 趟归并。

9.若不考虑基数排序,则在排序过程中,主要进行的两种基本操作是关键字的比较和数据元素的移动。

10.在插入排序、希尔排序、选择排序、快速排序、堆排序、归并排序和基数排序中,平均比较次数最少的是快速排序,需要内存容量最多的是基数排序。

三、算法设计题1.试设计算法,用插入排序方法对单链表进行排序。

参考答案:public static void insertSort(LinkList L) {Node p, q, r, u;p = L.getHead().getNext();L.getHead().setNext(null);//置空表,然后将原链表结点逐个插入到有序表中while (p != null) { //当链表尚未到尾,p为工作指针r = L.getHead();q = L.getHead().getNext();while (q != null && (Integer.parseInt((String) q.getData())) <=(Integer.parseInt((String) p.getData()))) {//查P结点在链表中的插入位置,这时q是工作指针r = q;q = q.getNext();}u = p.getNext();p.setNext(r.getNext());r.setNext(p);p = u;//将P结点链入链表中,r是q的前驱,u是下一个待插入结点的指针}}2.试设计算法,用选择排序方法对单链表进行排序。

参考答案://单链表选择排序算法public static void selectSort(LinkList L) {//p为当前最小,r为此过程中最小,q为当前扫描接点Node p, r, q;Node newNode = new Node();newNode.setNext(L.getHead());L.setHead(newNode);//制造一个最前面的节点newNode,解决第一个节点的没有前续节点需要单独语句的问题。

p = L.getHead();while (p.getNext().getNext() != null) {r = p.getNext();q = p.getNext().getNext();while (q.getNext() != null) {if (Integer.parseInt((String) q.getNext().getData()) <=(Integer.parseInt((String) r.getNext().getData()))) {r = q;}q = q.getNext();}if (r != p) { //交换p与rNode swap = r.getNext();r.setNext(r.getNext().getNext()); //r的next指向其后继的后继 swap.setNext(p.getNext());p.setNext(swap); //p的后继为swap}p = p.getNext();}//whilep.setNext(null);}3.试设计算法,实现双向冒泡排序(即相邻两遍向相反方向冒泡)。

参考答案://产生随机数方法public static int[] random(int n) {if (n > 0) {int table[] = new int[n];for (int i = 0; i < n; i++) {table[i] = (int) (Math.random() * 100);//产生一个0~100之间的随机数}return table;}return null;}//输出数组元素方法public static void print(int[] table){if (table.length > 0) {for (int i = 0; i < table.length; i++) {System.out.print(table[i] + " ");}System.out.println();}}//双向冒泡排序方法public static void dbubblesort(int[] table) {int high = table.length;int left = 1;int right = high - 1;int t = 0;do {//正向部分for (int i = right; i >= left; i--) {if (table[i] < table[i - 1]) {int temp = table[i];table[i] = table[i - 1];table[i - 1] = temp;t = i;}}left = t + 1;//反向部分for (int i = left; i < right + 1; i++) {if (table[i] < table[i - 1]) {int temp = table[i];table[i] = table[i - 1];table[i - 1] = temp;t = i;}}right = t - 1;} while (left <= right);}4.试设计算法,使用非递归方法实现快速排序。

参考答案:public static void NonrecursiveQuickSort(int[] ary) { if (ary.length < 2) {return;}//数组栈:记录着高位和低位的值int[][] stack = new int[2][ary.length];//栈顶部位置int top = 0;//低位,高位,循环变量,基准点//将数组的高位和低位位置入栈stack[1][top] = ary.length - 1;stack[0][top] = 0;top++;//要是栈顶不空,那么继续while (top != 0) {//将高位和低位出栈//低位:排序开始的位置top--;int low = stack[0][top];//高位:排序结束的位置int high = stack[1][top]; //将高位作为基准位置//基准位置int pivot = high;int i = low;for (int j = low; j < high; j++) {if (ary[j] <= ary[pivot]) {int temp = ary[j];ary[j] = ary[i];ary[i] = temp;i++;}}//如果i不是基准位,那么基准位选的就不是最大值//而i的前面放的都是比基准位小的值,那么基准位//的值应该放到i所在的位置上if (i != pivot) {int temp = ary[i];ary[i] = ary[pivot];ary[pivot] = temp;}if (i - low > 1) {//此时不排i的原因是i位置上的元素已经确定了,i前面的都是比i小的,i后面的都是比i大的stack[1][top] = i - 1;stack[0][top] = low;top++;}//当high-i小于等于1的时候,就不往栈中放了,这就是外层while循环能结束的原因//如果从i到高位之间的元素个数多于一个,那么需要再次排序if (high - i > 1) {//此时不排i的原因是i位置上的元素已经确定了,i前面的都是比i小的,i后面的都是比i大的stack[1][top] = high;stack[0][top] = i + 1;top++;}}}5.试设计算法,判断完全二叉树是否为大顶堆。

相关文档
最新文档