和尚简单介绍一下算法的认知变化;刚开始工作时,觉得算法是一件很高深的东西,而且一般移动端开发用处不大,可有可无;但是工作了一段时间之后发现,算法真的很有用,你觉得没用,只是你了解的不够,你还不会用,真正了解算法之后,在方法的设计以及其他地方应用很密切,而且对于很多源码的阅读也有非常大的促进作用;和尚目前依旧是一个算法小白,希望以后可以有机会多多学习算法;常用的算法包括:a. 排序算法:快速排序、归并排序、计数排序 b. 搜索算法:回溯、递归、剪枝 c. 图论:最短路径、最小生成树、网络流建 d. 动态规划:背包问题、最长子序列、计数问题 e. 基础技巧:分治、倍增、二分法、贪心算法
搜索算法是利用计算机的高性能来有目的的穷举一个问题解空间的部分或所有的可能情况,从而求出问题解的一种方法。 现阶段常用的搜索算法有:枚举算法、深度优先搜索、广度优先搜索、剪枝算法、回溯算法等
我觉得作为程序员还是要学习下算法的,掌握哪些,就要看从事的哪种工作,虽然现在部分人员开发只接触表面工作,底层不需要接触,但是学习算法,对个人还是很有必要性的,学习算法可以培养个人的逻辑思维,编程是个注重逻辑的过程,如果逻辑思维没有,肯定是处处bug。学习算法,可以写出更高效的代码。