在哪里可以学习算法?求推荐呀?

建议千万不要一开始就看《算法導论》这本书有太多关于算法的数学证明(如果你喜欢这种,那么你就看这本)

我强烈推荐你看看这本:作者是高德纳的学生:塞奇威克

去年我在准备校招面试的时候偶然发现这本书,我越看越着迷书中算法代码主要是用Java编写,里面有大量的图来让你明白例如:排序查找,树和图的算法运行过程

这本书的目录编排也很清晰,他就告诉你算法主要就可以分为:排序查找,图和字符串从这4个方面鈳以演化出很多算法。

我觉得最关键是:这本书的作者不但是在告诉你what而且告诉你why(分析各种算法的优缺点)----------------补充一些我觉得这本书好嘚地方比如讲到快速排序,很多书可能讲了快速排序的原理就完了但这本书就直接讲了原始的快速排序可以改进的地方:1. 在小数组上,切换到插入排序;2. 三取样切分;3.

优先队列怎么和排序算法扯上关系呢其实优先队列就是可以用堆排序来实现,堆排序的时间复杂度和快速排序是一样的但是实际中为什么堆排序的运行时间要比快速排序多呢?因为这和CPU的Cache命中率有关系堆排序不符合算法运行的局部性原則还比如书中2.5节,讲了排序算法的实际用途

这本书不光告诉你算法的原理,还告诉你算法的用途

想提高算法水平有哪些题库类型,可以在线提交代码的优质网站求推荐。

我要回帖

 

随机推荐