时间复杂度大概是每个学算法的人都踩过的坑。概念本身不复杂,但教科书总爱用"大O符号""渐进分析"这种黑话把人绕晕,结果很多人刷了几百道题,说起复杂度还是心里没底。
有个做教学内容的作者换了个思路——直接把课堂搬上来。他用"老师检查作业"打比方:如果30份作业随便堆桌上,老师要找到张三那本,最坏得翻30次,这叫O(n);如果作业按学号排好,老师直接走到第15号位置,这叫O(1)。
整个讲解没出现一个公式。作者把常见复杂度类型全换成了学生熟悉的场景:O(n²)是老师让全班两两互相检查,O(log n)是翻字典查单词,O(n log n)则是先分组再检查的分治法。每个例子都带具体数字,30份作业、50个学生、1000页字典——读者不用脑补,画面直接怼到脸上。
文章底下有条评论被顶到了最上面:「看了三遍《算法导论》没懂的东西,这里十分钟想通了。」这条发布于两天前,目前点赞已经破了800。
热门跟贴