资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2018-05-15,#,排序,d(1)d(2)d(3)d(n),d(1)=d(2)=d(3)d(2)d(3)d(n),d(1)=d(2)=d(3)=d(n),非递增数列,递减数列,有序数列,无序数据,有序数据,排序,无序数据,有序数据,(非递减),升序,无序数据,有序数据,(非递增),降序,请看白板,打牌,时,,拿,到自己的牌后要理牌,将无序的牌变为有序(即排序),如何理牌呢?,选择排序,从待排数据中选出最值,并将其放在待排位置中,重复,直到排完,选择排序采用逐遍加工的方法,每一遍加工好一个数据。,【,问题,1】,对,n,个数据元素排序,需要进行几遍加工,?,请思考以下问题:,【,问题,1】,对,n,个数据元素排序,需要进行几遍加工,?,n-1,请思考以下问题:,进行,n-1,遍,加工,【,问题,1】,对,n,个数据元素排序,需要进行几遍加工,?,n-1,【,问题,2】,第,i,遍加工的待排数据所在数组元素的范围,?,请思考以下问题:,【,问题,1】,对,n,个数据元素排序,需要进行几遍加工,?,n-1,【,问题,2】,第,i,遍加工的待排数据所在数组元素的范围,?,d(i)d(n,),请思考以下问题:,【,问题,3】,用什么方法可以找到待排数据中最小值的位置,?,请思考以下问题:,【,问题,3】,用什么方法可以找到待排数据中最小值的位置,?,擂台,法,请思考以下问题:,【,问题,3】,用什么方法可以找到待排数据中最小值的位置,?,擂台,法,【,问题,4】,第,i,遍加工找到的最小值应放在哪个数组元素中?原数组元素存放的数据怎样处理,?,请思考以下问题:,【,问题,3】,用什么方法可以找到待排数据中最小值的,位置,m,?,擂台,法,【,问题,4】,第,i,遍加工找到的最小值应放在哪个数组元素中?原数组元素存放的数据怎样处理,?,d(i),,交换,d(i),与,d(m),请思考以下问题:,程序代码:,For i=1 To n-1,m=i,For j=i+1 To n,If d(j)d(m)Then m=j,Next j,t=d(i),d(i)=d(m),d(m)=t,Next i,请思考以下问题:,【问题,1,】怎样,修改,右面,算法,实现降序排序,?,程序代码:,For i=1 To n-1,m=i,For j=i+1 To n,If d(j)d(m)Then m=j,Next j,t=d(i),d(i)=d(m),d(m)=t,Next i,请思考以下问题:,【问题,1,】怎样,修改,右面,算法,实现降序排序,?,将,d(j),d(m),程序代码:,For i=1 To n-1,m=i,For j=i+1 To n,If d(j)d(m)Then m=j,Next j,t=d(i),d(i)=d(m),d(m)=t,Next i,请思考以下问题:,【,问题,2,】,选择排序的算法结构是双重循环嵌套分支,分支结构的判断条件执行的总次数是多少,?,程序代码:,For i=1 To n-1,m=i,For j=i+1 To n,If d(j)d(m)Then m=j,Next j,t=d(i),d(i)=d(m),d(m)=t,Next i,请思考以下问题:,【,问题,2,】,选择排序的算法结构是双重循环嵌套分支,分支结构的判断条件执行的总次数是多少,?,n(n-1)/2,程序代码:,For i=1 To n-1,m=i,For j=i+1 To n,If d(j)d(m)Then m=j,Next j,t=d(i),d(i)=d(m),d(m)=t,Next i,请思考以下问题:,【,问题,3,】,数据交换的次数是多少,?,程序代码:,For i=1 To n-1,m=i,For j=i+1 To n,If d(j)d(m)Then m=j,Next j,t=d(i),d(i)=d(m),d(m)=t,Next i,请思考以下问题:,【,问题,3,】,数据交换的次数是多少,?,n-1,其它排序算法:,冒泡排序,插入排序,快速排序,归并排序,树型排序,小结:,1,、选择排序的基本思想;,2,、选择排序的算法描述及其算法设计的过程;,作业:,完成学习单上课后作业,
展开阅读全文