01算法是解决问题的步骤

算法需要说明输入、操作与输出。把“找到这本书”变成能够执行的过程,可以先检查一本,再检查下一本。步骤要足够明确,使不同执行者能够理解并重复。

02效率依赖前提

若书已经按书名排序,可以比较中间一本并不断缩小查找范围;若没有排序,这个方法的前提就不成立。评价算法既要问有多快,也要问它在哪些条件下正确。

03写一份小流程

为寻找某个联系人写出简短流程:是否有姓名、名单是否排序、没有找到怎么办。把异常情况也写入步骤,会比只写理想路径更接近真实的软件设计。