(五)小结交流,质疑探究
师:对分查找在日常生活中应用广泛,请你列举一些实际例子。
学生讨论交流,老师补充,如:
1.《幸运52》中的猜商品价格游戏。
2.用二分法求解方程近似解。
3. 在字典中查找某个单词。
4.线路查找等问题,如:从上海到美国旧金山的海底电缆有15个接点,现在某接点发生故障,需要及时修理,为了尽快断定故障发生点,一般也用对分查找法。
问题九:两种查找方法有什么不同?请完成下表(学生回答):
前提条件 查找方法 最多查找次数
顺序查找 数据不一定有序 按照顺序依次查找 n
对分查找 数据必须有序 先查找中间数,然后根据大了小了,把查找范围缩小一半 「log2n」
问题十:谈谈你对“对分查找”算法优缺点的理解,有没有需要完善的地方?
生3:如果有很多数,找的是第一个或最后一个这样特殊的数,效率是很低的。
师:很好,不仅是第一个数,还有最后一个数,以及每次i和j所指向的数,例如刚才的查找例子中,35这个数明明被j早就指到了,却“视而不见”,不断地比下去,真让人心急。请大家思考讨论,可不可以改进这个对分查找过程。
生4:(思考讨论后)与中间数比之前,先和两头的数比较一下。可以在原程序段Do While i <= j后加入如下两条语句:毕业论文http://www.751com.cn/
If d(i)=key then pos=i:nc=nc+1:exit do
If d(j)=key then pos=j:nc=nc+1:exit do
师:真是个聪明的孩子!说实话,我也不知道有没有人提出过这样的改进方法,这种方法与原来相比是不是真的优化了,但我们可以相信,现有的知识不一定是最好的,有了疑问就可以去深入研究,说不定大家能研究出个成果来,科学就是这么来的。
教学反思:因为我在平时课堂中,尽可能创造轻松愉悦的学习氛围,尽可能巧设问题,激发学生积极思考,所以学生学习一般比较主动,课堂也很“活”,经常会提出一些知识上的质疑。这节课也是一样,我首先用一个轻松的猜数游戏激趣导入;然后在主要算法表示中,通过流程图、代码段渐进式地描述,在知识难点处反复设疑,突破难点;然后在课堂小结中,及时抓住学生在学习过程中冒出来的思想火花,通过“谈谈你对《对分查找》算法优缺点的理解,有没有需要完善的地方?”这个质疑,激发学生思考探究,教育学生“算法”只是解决问题的方法,它没有最好,只有更好,不要迷信书本和现有的科学,要敢于挑战,树立起不断完善,追求卓越的思想。