孩子最近迷上了编程,总嚷嚷着要学算法,可一翻开那些厚实的教材就犯怵。作为家长,我也跟着发愁:算法设计初学者看什么书才合适?太难的看不懂,太水的又怕耽误功夫。后来陪他一起翻了几本,慢慢摸出了点门道。
从“能看懂”开始:《啊哈!算法》
这本书像是把算法讲成了小故事,用漫画和对话的形式带着孩子一步步理解排序、搜索、图遍历这些概念。我家孩子第一次读到“用栈来帮小猴子叠香蕉”那段,笑得直拍桌子,但回头做练习题时居然真能把思路复现出来。适合小学高年级到初中生,家长陪着读也不累。
动手派首选:《Python算法详解》
如果孩子已经会一点 Python,这本书很实用。每讲一个算法,都配上简短的代码和运行结果。比如实现一个简单的冒泡排序:
def bubble_sort(arr):
n = len(arr)
for i in range(n):
for j in range(0, n-i-1):
if arr[j] > arr[j+1] :
arr[j], arr[j+1] = arr[j+1], arr[j]
return arr
print(bubble_sort([64, 34, 25, 12, 22]))
# 输出: [12, 22, 25, 34, 64]
代码不长,改几个数字就能跑起来,孩子觉得有成就感,自然愿意往下啃。
进阶过渡:《算法图解》
这本书在图文结合上做得特别细腻。讲递归时画了一面镜子照镜子的图,孩子看了说“原来函数调用自己是这个意思”。书中还穿插了一些小项目,比如用广度优先搜索找朋友圈中最短关系链,贴近生活,讨论起来也有趣。
别急着刷题,先培养思维习惯
有次我俩一起研究如何用最少步数把乱序的乐高块排好,他试了几次发现类似书里说的“选择排序”——每次找最小的一块放到前面。那一刻我才明白,算法不是非得写代码,它是一种解决问题的思路。选书的时候,不如多看看是不是能把抽象逻辑落地成孩子能摸得着的例子。
现在每周六晚上,我们把书摊在茶几上,一人一杯酸奶,边吃边聊一个算法小游戏。学得慢没关系,重要的是他愿意主动想、动手试。有时候他还会考我:“爸爸,你知道快速排序怎么分治吗?”——嘿,这不就是最好的亲子时光吗?