课件17张PPT。第三章 常用算法及程序实现冒 泡 法 排 序什么是排序通过 比较 和 交换 ,把一组杂乱无章的数据变为有序的数据。学习目标知识目标:理解冒泡法排序的基本思想;理解冒泡法排序的流程图;编写冒泡法排序的主要代码。
技能目标:学会使用冒泡法排序思想设计解决简单排序问题的算法;进一步理解程序设计的基本方法,体会程序设计在现实中的作用。
情感态度价值观目标:培养分析问题、发现规律的能力,培养良好的程序书写习惯。
冒泡法排序的基本思想算法描述:
对原数据从前向后进行多次扫描,每一次扫描称为一趟。
每一趟中,依次“比较” “相邻”的两个数,若前一个数比后一个数大,就“交换”两个数,否则就不交换。
不断重复上述操作,直到所有的数都从小到大排列。原数据和序号 排序过程中,使大的数逐次下沉,而小的数就象气泡一样逐层上浮。冒泡法排序的基本思想原数据和序号第3趟第4趟第1趟第2趟第1次第2次第3次第4次第1次第2次第3次5个数的冒泡法排序冒泡法排序的基本思想n个数的冒泡法排序433421n-1n-2 n-1n-i1学案问题二学案问题三冒泡法排序的基本思想完成学案问题四:P127 活动一中步骤1的留白。如果用冒泡法对10个数排序,要进行________趟排序。
如果一趟排序中,在6个数中确定最大数的位置,要比较______次。最多交换______次,最少交换_______次。冒泡法排序的基本思想一趟排序中交换的次数:最差的情况:
最大数在最上面
比较:5次
交换:5次最好的情况:
顺序.升序
比较:5次
交换:0次交换A(1)和A(2)冒泡法排序的流程图.第一趟排序比较相邻是否A(1)=A(2)
A(2)=A(1)A(1)>A(2)第1次第2次t=A(1)
A(1)=A(2)
A(2)= t j> 否是结束A(j)>A(j+1)t=A(j)
A(j)=A(j+1)
A(j+1)= t冒泡法排序的流程图.第一趟排序学案问题五:用循环结构完成第1趟排序的流程图。1j+1n-1冒泡法排序的流程图.第i趟排序j>n-1 j>n-i 学案问题七:画出整个冒泡排序的流程图。开始结束学案问题六:第i趟排序的流程图和第1趟的有什么差别?冒泡法排序的流程图.完整结束i> 次趟j = n-i1i+1n-1???冒泡法排序.流程图→程序语言完成学案中问题八:根据流程图编写程序Sub sort()
Dim i as integer, j as integer, t as integer
For ________________
For _________________
If ______________________ Then
______________________
______________________
______________________
End if
Next _____
Next _____
End Sub冒泡法排序.流程图→程序语言j=1 to n-iA(j)>A(j+1) t= A(j)A(j)=A(j+1)A(j+1)=tjii=1 to n-1冒泡法排序.流程图→程序语言学习目标知识目标:理解冒泡法排序算法的基本思想;理解冒泡法排序的流程图;编写冒泡法排序的主要代码。
技能目标:学会使用冒泡法排序思想设计解决简单排序问题的算法;进一步理解程序设计的基本方法,体会程序设计在现实中的作用。
情感态度价值观目标:培养分析问题、发现规律的能力,培养良好的程序书写习惯。
冒泡法排序.课后思考如何改进冒泡法排序,提高算法效率?