购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

掌握典型的处理方式

假设我们现在要实现一个业务系统。有时客户会提供现成的计算公式,我们只要按照公式去实现就可以了,但有时又需要我们自己去思考如何计算,这时就必须考虑算法的效率问题了。

如果遇到的是未知的问题,想出一个新的算法简直难于登天。好在大多数时候,我们可以直接使用研究人员已经发现的那些高效的算法,毫不费力地进行编程。但是,要想使用那些算法,也必须提前了解各种问题的解题方法才行。

以入学考试为例,我们在备考期间做历年真题的意义就在于此。如果事先知道“有没有类似的问题”“需要花多长时间才能解决”,就能判断出某个程序是否可以实现,并估算出实现需要花费的时间。

但是,针对某个问题,如果完全没见过与之类似的问题,那么可能就很难去解决了。比如在解答谜题时,如果连下面这些基本的算法知识都不懂,解题所花的时间可能就会超乎想象。

● 排序(选择排序、冒泡排序、快速排序、归并排序等)

● 搜索(线性搜索、二分查找、深度优先搜索、广度优先搜索、双向搜索等)

● 最短路径问题[迪杰斯特拉(Dijkstra)算法、贝尔曼-福特(Bellman-Ford)算法等]

如果你没有听说过这些名词,最好在阅读本书之前看一下其他的算法入门书。对于学过这些算法的读者,本书的练习能够帮助你进一步学习算法。 yu+t6f97cy0fVEiJKu9UV3UUMNIVQa00n0a0SEEOLw2hm4d2hpYsuQiKcit75cvQ

点击中间区域
呼出菜单
上一章
目录
下一章
×