作者其他文章
【读书笔记】《我的第一本算法书》(易苏情)
发布者:黄婷发布时间:2024-01-15 09:06:16阅读(61) 评论(0) 举报
提到“算法”或者是“数据结构”,我的脑海中瞬间浮现两个字:困难。在学生时代,学习算法是枯燥无味、晦涩难懂的,但是《我的第一本算法书》却打破了我对算法的偏见。该书分为7个章节,包括“数据结构”、“排序”、“数组的查找”、“图的搜索”、“安全算法”、“聚类”和“其他算法”,每个章节包含了基础常见的算法概念。
书名中的“我的第一本”确实名副其实。对于新手来说,这本书的语言平实,没有过多的专业术语,使得读者不会被复杂的词汇所困扰,能够较为轻松地理解算法的基本概念。最为关键的是书中采取了大量彩色的、非常直观的图示的分解各算法每一步的变化,让读者轻而易举清楚某算法的原理。就例如我们目前常接触的“数组”、“排序”、“查找”等概念(下述以二分查找为例),书中前三章采用颜色区分、步骤清晰的图示演示了其中原理,小学生接触起来也不是难事。虽然我们现在教科书中并没有直截了当抛出以上概念,但其中算法是不能忽视的。回想起我们在讲授时,是否对算法原理进行释义了呢?所以在教授这些概念时,我们不如采取这本书的方式,以图示或者动画演示的方法,先让学生理解算法原理,有助于小学生建立起对算法的初步认识。在编程中,算法是程序的灵魂,掌握了算法能够更好地理解和应用编程语言。其次,理解算法可以可以培养他们的逻辑思维和问题解决能力。算法不仅是编程的一部分,更是一种思维方式。在现实生活中,算法思维能够帮助小学生更好地理解和分析问题,从而找到最佳解决方案。
例如查找数字6,在二分查找过程中,首先找到数组中间数字5,将5和要查找的6进行比较,可以得知6在5的右边,将不需要的数字移出查找范围。在剩下的数组中找到中间的数字,此处为7。比较7和6,把不需要的数字移出查找范围,可以得知6在7的左边。然后再在剩下的数组中找到中间的数字,此处为6。6=6成功找到目标数字。
虽然书中提供了很多图示来解释算法的工作原理,但缺乏具体的实现代码。对于新手来说,如果没有具体的代码参考,可能会在实现过程中遇到困难。因此在教学中,我们既要提供图示让学生理解算法原理,也要提供案例代码让学生在理解的基础上进行实践操作,这样才能让其在遇到实际问题时能想到使用具体算法解决问题。
本书可以作为一本工具书放在手头,如若遇到难以解释的算法,翻开此书思绪就会十分清晰。