首先推荐相关书籍。
第一本就是比较经典的《数据结构与算法分析-C语言描述》
这本书个人学起来感觉很慢,中文翻译很差,最好先上了些公开课后回来啃英文原版教材。代码最好自己全部敲一遍。
第二本是数学
MathematicsforComputerScience(byEricLehmanandTomLeighton)
这本书基本包括了计算机科学的必要数学知识,可选看(我也没看过),在学习算法的过程中遇到不熟悉的数学知识也可以在这本书上查找相关知识查缺补漏。
其他
CLRS-Cormen,Leiserson,Rivest,andStein,IntroductiontoAlgorithms(3rdedition)
算法导论,最好搭配着MIT的算法导论公开课看。如果直接啃书比较困难。