内容正文:
1.5 典型算法举例
算法与程序设计——C#
同步精品课堂
河北科学技术出版社
1
一 教学目标
了解排序算法思想
掌握流程图的画法
了解查找算法思想
掌握流程图的画法
了解递归算法思想
掌握流程图的画法
教学重点:
1.掌握排序算法,查找算法,递归算法的思想
2.能够用自然语言描述几种常见的排序算法,查找算法,递归算法
教学难点:
1.能够阅读排序算法,查找算法,递归算法的流程图
2.能够掌握排序算法,查找算法,递归算法流程图的画法
二 教学重难点
在计算机的算法中,有三种算法极为经典和常见,分别是排序算法,查找算法,递归算法。
三 导入新课
四 新知讲授
排序算法——选择排序法
选择排序是最基础的算法。在要排序的一组数中,假设第一个元素是最小值,然后依次与后面的元素作比较,如果有更小的值,就让其交换位置,以此类推,直到最后完成排序。
四 新知讲授
排序算法——选择排序法
四 新知讲授
排序算法——冒泡排序法
冒泡排序就是从一组序列中的第一个元素开始,依次对相邻的两个元素进行比较,如果前一个元素大于后一个元素则交换它们的位置。反之,如果前一个元素小于或等于后一个元素,则不交换它们的位置。以此类推,直到比较到最后一个元素为止。
四 新知讲授
排序算法——冒泡排序法
四 新知讲授
排序算法——插入排序法
插入排序就是在排序开始前,设想有排序区和未排序区两个区域,并且先将这组序列的第一个元素看作在排序区里,其他元素在未排序区里。排序开始时,每次将未排序区第一个元素取出用于和排序区中元素比较(从后往前),若满足条件(较大或者较小),则将排序区中元素往后移动一个位置。以此类推,直到完成排序。
四 新知讲授
排序算法——插入排序法
四 新知讲授
查找算法——顺序查找法
顺序查找也称线性搜索,是在一个已知无序(或有序)队列中找出与给定关键字相同的值的具体位置。原理是让关键字与队列中的第1个(或最后1个)位置的值逐个比较,直到找出与给定关键字相同的值为止。
缺点:效率低下
四 新知讲授
查找算法——顺序查找法
四 新知讲授
查找算法——二分查找法
二分查找是一种高效的搜索算法,适用于有序数组。它通过不断将搜索范围缩小一半来查找目标值,直到找到目标值或确定目标值不存在。
四 新知讲授
查找算法——二分查找法
四 新知讲授
递归算法——阶乘
递归算法:指一种通过重复将问题分解为同类的子问题而解决问题的方法。
阶乘是指从1到给定数字之间所有正整数的乘积,例如,4的阶乘式是4x3x2x1,结果是24。
四 新知讲授
递归算法——阶乘
四 新知讲授
递归算法——斐波那契数列
斐波那契数列,又称黄金分割数列。因数学家莱昂纳多·斐波那契以兔子繁殖为例引入,故又称“兔子数列”,其数值为:1、1、2、3、5、8、13、21、34……通过观察可以发现,这个数列从第3项开始,每一项都等于前两项之和。
四 新知讲授
递归算法——斐波那契数列
布置任务:
(1)依照课本上的冒泡排序流程图,结合自己的自然语言再画一个冒泡排序的流程图
(2)展示课件,布置任务让同学们依照老师课件上给的插入排序算法示意图,画一个插入排序的流程图。
五 师生互动
六 随堂练习
课堂练习
练习:下列有关查找算法描述正确的是( )。
A.在无序数组中查找固定某个数可以用二分查找法
B.顺序查找有5个元素的数组中的某个元素,可能查6次
C.顺序查找法的泛用性比二分查找法强
D.有限偶数列不能使用二分查找进行查找
C
六 随堂练习
课堂练习
练习:下列关于计算5的阶乘描述错误的是( )。
A.最终计算结果为120
B.可以用符号5!
C.实际上就是在计算5*4*3*2*1*0
D.可以将其转化为一种递归算法
C
七 课堂小结
作业:
(1)完成练习的对应内容。
(2)在不参考任何算法描述的情况下,独立完成排序算法,查找算法,递归算法的流程图。
八 布置作业
感谢观看
$$