一句话说清

算法是解决问题的固定步骤,做饭也有算法。

为什么值得懂

算法听起来高深,其实就是“解决问题的固定步骤”:菜谱是算法,查字典是算法,连你早上起床的顺序都是算法。计算机科学做的事,是把这些步骤设计得又快又准。看懂算法思维,你就多了一副“拆问题”的眼镜。

零基础讲解

算法的三要素:输入(给什么)、步骤(怎么一步步处理)、输出(得到什么)。菜谱:输入是食材,步骤是切炒煮,输出是一道菜。

衡量算法好坏的两把尺子:一是快(时间复杂度),二是省(空间复杂度)。《算法图解》里的经典例子:在 100 万条数据里找人,从头到尾一个个找,最坏要 100 万步;用“二分法”每次砍一半,最多 20 步就锁定——这就是算法差距,天壤之别。

几个天天在用的算法:排序(你刷的推荐流按什么排)、搜索(搜索引擎怎么秒回)、推荐(平台怎么猜你喜欢)。它们背后都是精巧的步骤设计。

《决策树》是决策领域的“算法图”,《编程思维》讲怎么把算法写成代码——这篇是它们的地基:先有“固定步骤”的意识,才有后面的一切。

一个思想实验最提神:你的日常生活,本身就是一套套算法的组合——那些让你高效或低效的习惯,差的都是步骤设计。

一个例子

查字典不是从第一页翻起,是翻到中间、看字母大小、再折半——这就是“二分查找”,人类用了几百年的算法。计算机的强项,就是把这套跑得快亿万倍。

常见误解

  • 以为算法只有程序员要学:算法思维是通用的“拆问题”方法。
  • 以为算法越复杂越好:好算法常常是更简单的。
  • 以为算法冷冰冰:推荐算法、导航算法天天在影响你的选择。
  • 以为“会写代码”=懂算法:算法是设计步骤的功夫,代码只是表达。

应用场景

  • 生活:把重复的事流程化成“步骤清单”,就是给自己写算法。
  • 职场:优化工作流,先问“哪一步最慢、哪一步能并行”。
  • 写作与创作:写“系统流”网文,算法思维是升级金手指的底层逻辑。

关联知识点

  • 硬件与软件(hardware-software,算法跑在硬件上)
  • 编程思维(programming-mindset,把算法写成代码)
  • 决策树(decision-tree,决策领域的算法)
  • 数据结构(data-structures,摆法决定操作贵贱)
  • 二进制与编码(binary-encoding,机器只认两种状态)
  • 所属主线:因果与系统、语言与意义