谭浩强,是香港科技大学计算机科学与工程系的终身教授,被誉为中国最顶尖的计算机科学家之一。他以计算机算法的研究为主,并且获得过多项奖项。
作为学习编程的程序员,算法是无法绕过去的一道坎。算法设计直接影响着程序的性能和质量,而谭浩强认为,程序员必须掌握的5个算法是二分查找、贪心算法、动态规划、字符串匹配、图的搜索。
二分查找是一种针对有序数组的查找算法,时间复杂度是 O(log n),是十分高效的算法。贪心算法是指在解决最优化问题时使用的一种近似算法。动态规划则是一种计算复杂度较高的算法,通常用于一些最优化问题。字符串匹配算法则是在对一个比较长的字符串进行查找时,匹配较短的字符串的模式。图的搜索算法则可以用来寻找图的连通性、最优路径等问题。
以上5个算法都是程序员必须掌握的,无论在什么领域,掌握好这5个算法可以使程序性能优秀、质量高。同时,学习算法也是谭浩强教授一直在推崇的,因为算法的研究不仅可以提升程序的质量,还可以提升人的思维能力和解决问题的能力。