“算法有用么?”经常有人问我这个问题。很多人在工作中根本不用算法。偶尔碰到的时候,也不过是使用一些实现好的库。例如C++标准模版库STL中有现成的排序、查找函数;常用的数据结构如向量(vector)、队列(queue)、集合(set)也都实现好了。日常工作中了解如何使用这些库似乎就足够了。 算法在解决一些“有趣”的问题时,会扮演关键角色。但是这些问题本身的价值,却是仁者见仁、智者见智。 让我们用例子来说话吧。下面两道题目,即使是初学编程的新手,似乎也很 容易解决。