算法的选择与实际项目是如何结合的

算法的选择与实际项目是如何结合的?有时候,项目太小,没有算法也无所谓,但是项目大了,对算法的要求就提高了,应该如何选择合适的算法呢?有什么原则吗?

这个可能要实际问题实际分析了。譬如如果是一个对性能有严苛要求的场景,可能会用很多极端优化,不过可维护性很差的算法;譬如如果应用运行的环境内存很充分,对性能也有一定的要求,那么可以考虑采用“用空间换时间”的算法;譬如如果项目的维护周期特别长,对性能的要求也不是特别高,那么相比起复杂、优化到极端的算法而言,逻辑简单、易于维护的算法更是首选。

总之,每个算法都有它的优势和局限,都有最适合应用的场景。好好把握当前领域的算法特征,吃透这些适用场景和限制,就能作出相对较好的选择了。