1.期中考试结束了,班长给学生按学分排队,一个小组原有六人,由于某小组组长的疏忽,把一个同学的学分遗漏了,现要把该学分插进去应怎么办?设排好的学分为有序列{1,3,6,
|
1.解法一:将5从右向左逐个与有序列中的数据进行比较,确定5在序列中的位置,并将其插入构成一个新的有序列,这个过程可以用下列步骤描述: (1)比较5与9,5<9; (2)比较5与7,5<7; (3)比较5与6,5<6; (4)比较5与3,5>3; (5)将5插到3与6之间得到新的有序列:{1,3,5,6,7,9}. 解法二:要将5插入有序列{1,3,6,7,9},构成一个新的有序列. 首先选择有序列的“中间位置”的数据a3=6,将5与a3比较,显然5<a3,所以5应排在a3的左边.如果还没有确定位置应再取余下数据列的“中间位置”的数据比较查找. 感悟:(1)有序直接插入法中的“比较法”:将数据A与原有序列中的数据从右向左依次进行比较,直到发现某一数据ai,使得ai≤A,把A插入到ai的右边;如果数据A小于原有序列中的所有数据,则将A插入到原有序列的最左边. (2)折半插入法中的“二分法”:用折半插入排序法向有序列中插入新数据时,首先应确定原有序列中数据的个数是偶数2n还是奇数2n+1.若为偶数,则“中间位置”的数据是第n个数;若为奇数,则“中间位置”的数据为第n+1个数,然后用新数据与“中间位置”的数据比较,若新数据大于“中间位置”的数据,则在右半边进行下一步;若新数据小于“中间位置”的数据,则在左半边进行下一步;若新数据等于“中间位置”的数据,则将新数据插入到“中间位置”的数据的右边,依次类推,就可以确定新数据在有序列中的位置,这是二分法的具体应用. 以上是在已经排好的有序列中插入一个新数据,但是生活中肯定会面临无序的数字串排序的问题,这种问题该怎么办? 2.解法一:算法步骤为: (1)只有一个数的序列{7}是有序列; (2)将3插入有序数列{7}中,得到新序列:{3,7}; (3)将6插入有序列{3,7}中,得到新序列:{3,6,7}; (4)将9插入有序列{3,6,7}中,得到新序列:{3,6,7,9}; (5)将1插入有序列{3,6,7,9}中,得到新序列:{1,3,6,7,9}. 所以有序数列为{1,3,6,7,9}. 解法二:算法步骤为: (1)在序列{7,3,6,9,1}中选出最小的数据1放在第1个位置上; (2)在序列{7,3,6,9}中选出最小数3放在第2位; (3)在序列{7,6,9}中选出最小数6放在第3位; (4)在序列{7,9}中选出最小数7放在第4位; (5)将9排在第5位. 感悟:解法一中,第一个数据的选取,没有什么要求,只需按逐一比较排序;解法二中的第1步需选所有数据中的最小数作为基准,依次找最小数排序.体会两者的算法思想,学会处理问题的思维方法. 总之,解决排序插入问题,应先判断所给题目是否有序,若有序用题1所用的两种思维方法排序,若无序可用题2所用的两种思维方法排序,这些都属于简单的排序问题,也是算法思想的具体应用. |
一学校举办数学竞赛,去年参加竞赛的女生占参加竞赛的人数的五分之一,今年学校的总人数等于去年的学校总人 2020-03-31 …
求仿写~~如下~如下:宋词,是文学殿堂里的一朵奇葩,它与唐诗.元曲一样千古流芳.词作家各展其才,各 2020-05-20 …
语文仿写题,宋词,是文学殿堂里面的一朵奇葩,它与唐诗、元曲一样千古流芳.词作家各展其才,各显千秋: 2020-06-09 …
句式仿写宋词,是文学殿堂里的一朵奇葩,它与唐诗、元曲一样千古流芳.词作家各展其才,各显千秋:有的豪 2020-06-09 …
明朝皇帝担心内阁变成事实上的宰相,威胁皇权,于是以司礼监的太监牵制内阁。有的学者评论道:明中期以后 2020-06-11 …
给下面一段话加上标点符号天上的云真是姿态万千变化无常它们有的像羽毛轻轻地飘在空中有的像鱼鳞一片片整 2020-06-13 …
急...几题科学..请大家帮下忙蚯蚓生活在土壤中,进行()生活.蚯蚓的提醒呈()形,约由()环节组 2020-06-24 …
英语翻译1.他毫不犹豫地跳进河里救起那个溺水的孩子(hesitation)2.你的演讲给所有的学生 2020-07-05 …
在茶歇礼仪服务中,有的学生为了更好地达到礼仪效果,当与会者刚刚将果皮、纸杯等杂物放到茶歇桌上时,便 2020-07-07 …
如图,我们生活中经常看到铅笔在水中的折断现象,对此我们应有的学习科学的方法是A、马上把铅笔拿起来, 2020-07-08 …