人人范文网 范文大全

4.4排序算法设计

发布时间:2020-03-03 19:25:11 来源:范文大全 收藏本文 下载本文 手机版

排序算法设计

一、内容分析

【教学目标】

1、理解排序的概念

2、了解常用排序方法

3、理解冒泡排序的基本思路

4、应用冒泡排序法进行排序 【重点难点】

1、冒泡排序法的基本思路

2、应用冒泡排序法进行排序

二、教学内容

(一)常用排序 排序的概念:

排序就是把一组元素(数据或记录)按照元素的值的递增或递减的次序重新排列元素的过程。

如:49 38 76 27 13 常用排序的方法:

1、冒泡排序:冒泡排序是一种简单而饶有趣味的排序方法,它的基本思想是:每次仅进行相邻两个元素的比较,凡为逆序(a(i)>a(i+1)),则将两个元素交换。

2、插入排序:它是一种最简单的排序方法,它的基本思想是依次将每一个元素插入到一个有序的序列中去。这很象玩扑克牌时一边抓牌一边理牌的过程,抓了一张就插到其相应的位置上去。

3、选择排序:这是一种比较简单的排序方法,其基本思想是,每一趟在n-i+1(i=1,2,3,...,n-1)个元素中选择最小的元素。

冒泡排序:

冒泡排序是一种简单而饶有兴趣的排序方法,它的基本思想是:每次进行相邻两个元素的比较,凡为逆序(即a(i)>a(i+1)),则将两个元素交换。

整个的排序过程为:

先将第一个元素和第二个元素进行比较,若为逆序,则交换之;接着比较第二个和第三个元素;依此类推,直到第n-1个元素和第n个元素进行比较、交换为止。如此经过一趟排序,使最大的元素被安置到最后一个元素的位置上。然后,对前n-1个元素进行同样的操作,使次大的元素被安置到第n-1个元素的位置上。重复以上过程,直到没有元素需要交换为止。

例题:对49 38 76 27 13 进行冒泡排序的过程: 初始状态: [49 38 76 27 13 ] 第一趟排序后:[38 49 27 13] 76 第二趟排序后:[38 27 13 ] 49 76 第三趟排序后:[27 13 ] 38 49 76 第四趟排序后:13 27 38 49 76 课堂练习:

用冒泡排序对68 45 35 75 55 17 41进行排序,第二趟排序后的状态为:

A、45 35 68 55 17 41 75 B、35 17 41 45 55 68 75 C、35 45 55 17 41 68 75 D、35 45 17 41 55 68 75 作业:

1、以下两组数据按有小到大排序,请写出每一趟排序后的结果 45 82 12 75 13 89 95 90 87 76 65 54 43 32 21

2、以下两组数据按有大到小排序,请写出每一趟排序后的结果 45 52 12 18 85 46 32 12 23 34 45 56 67 78 89 91 拓展:

随机生成10个不同的整数存于数组a(1 to 10)中,按从小到大的顺序输出。

三、小结 冒泡排序:

冒泡排序是一种简单而饶有兴趣的排序方法,它的基本思想是:每次进行相邻两个元素的比较,凡为逆序(即a(i)>a(i+1)),则将两个元素交换。

整个的排序过程为:

先将第一个元素和第二个元素进行比较,若为逆序,则交换之;接着比较第二个和第三个元素;依此类推,直到第n-1个元素和第n个元素进行比较、交换为止。如此经过一趟排序,使最大的元素被安置到最后一个元素的位置上。然后,对前n-1个元素进行同样的操作,使次大的元素被安置到第n-1个元素的位置上。重复以上过程,直到没有元素需要交换为止。

例题:对49 38 76 27 13 进行冒泡排序的过程: 初始状态: [49 38 76 27 13 ] 第一趟排序后:[38 49 27 13] 76 第二趟排序后:[38 27 13 ] 49 76 第三趟排序后:[27 13 ] 38 49 76 第四趟排序后:13 27 38 49 76 排序算法编程相关知识:

1、数组的定义:

声明数组的一般格式如下:

Dim 数组名([下界 to ] 上界)As 数据类型

2、数组元素的输入输出: (1)生成随机整数(1-100之间) Randomize for i=1 to n a(i)=int(rnd*100+1) next i (2)输出数组元素 for i=1 to n print a(i); next i

3、冒泡排序的算法实现: 冒泡排序是一种简单而饶有兴趣的排序方法,它的基本思想是:

每次进行相邻两个元素的比较,凡为逆序(即a(i)>a(i+1)),则将两个元素交换。

用两个FOR循环实现: for j=n-1 to 1 step -1 for i=1 to j if a(i)>a(i+1) then t=a(i) a(i)=a(i+1) a(i+1)=t end if next i next j 排序算法的应用:

1、随机生成10个不同的整数存于数组a(1 to 10)中,按从小到大的顺序输出。

2、随机生成20个学生的考试成绩,其中前50%的学生可以参加夏令营。输出这50%的学生的成绩。

3、数组A和数组B 分别记录6个数据,现在要把这两个数组合并成一个有序的数组。(从大到小的顺序)

排序算法总结

排序算法教学反思

10种排序算法总结

各种排序算法的优缺点

《算法导论》学习总结——快速排序

51CTO下载排序和算法总结

C++ 八种排序算法总结及实现

算法教学设计

算法教学设计

用php实现的各种排序算法总结

4.4排序算法设计
《4.4排序算法设计.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
点击下载本文文档