- 确定学习目标
- 制定学习路线
- 明确学习要点
- 不要死记硬背算法实现,你应该试着去理解不同的数据结构、算法的原理是什么,是如何解决不同的问题的
- 分析时间和空间复杂度、优点、缺点以及适用于解决什么问题,什么情况下更适合采用哪种算法和数据结构
- 算法思想才是更重要的,比如:分而治之、动态规划、贪婪算法等,学习算法思想可以帮你更好地理解算法之间的快慢差异,并学会在算法对时间和空间的使用上做出平衡
- 尝试把数据结构图形化,视觉化
- 一定要自己动手实现一遍
- 搜集学习资料
- 书籍
- 数据结构与算法分析:C 语言描述
- 算法导论
- 算法概论(Algorithms)
- 剑指 Offer
- 看算法相关源码
- YYCache
- IGListKit
- React.js
- 可视化网站
- 书籍
- 理解练习、编程实践
- 用 C/C++/Swift 把所有经典算法写一遍,先尝试自己把这些数据结构实现一遍,然后再模仿优秀的源码
- 刷题
- leetCode
- 在 google 上搜索“某个数据结构 + ACM”,然后做题目
- 剑指Offer_编程题_牛客网
- 在实际工作中应用所学到的算法知识
- 积极交流,获取反馈
- 加入算法学习社区,相互鼓励学习
参考资料
如果你也喜欢交流技术、喜欢阅读、积极践行,欢迎关注我的公众号:祥龙Shannon写字的地方,一起成长。

网友评论