最近,我一直在整理自己的技术栈,工作几年我写了大量的业务代码,觉得很有必要建立自己的知识体系。不仅如此,我越来越感觉到算法对一个程序员的重要性。很早之前,我的大学老师就和我们说过:编程=算法+数据结构。而我们工作后,慢慢进入了一个舒适圈:编程=框架+API。这样是不行的,算法和数据结构始终是编程最重要的部分,掌握了算法和数据结构,我们对很多框架和API的运用会更快,理解会更深,寻找bug和解决bug的效率会更快。
既然意识到了算法的重要性,我开始在LeetCode刷题,想利用刷题来慢慢积累算法知识,慢慢提高自己对算法和数据结构的理解能力,也能更好地提高自己的编程水平。
LeetCode传送门:https://leetcode-cn.com/
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHL3VleNBTU610MNpHW3BjMMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL3AzN0UjMxAjMxIjNwkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
我也是刚开始刷题几天,挑了几个比较容易的题目慢慢进入了刷题的状态,也慢慢认识了一些一直在算法领域很活跃的同行朋友们,生活开始慢慢有意思起来。
只刷题不总结是不行的,每道题都有它的知识点,而我应该从自己的编码中看到自己离最好的答案有多大的差距。从分析题目到完成题目,再到查看别人的答案,我都应该有所收获。所以我以后经常会以题目为核心来剖析自己的编程水平,来好好反思自己的答案暴露了自己哪些方面的缺点和不好的编程习惯。
为了整理这些知识点,我在GitHub建立了一个全新的仓库 来放置我自己的刷题笔记,然后以这些笔记为基础,联系题目中涉及的知识点来总结归纳,这些整理后的文章会在CSDN持续更新,希望能编织出一张巨大的算法知识点网络。有GitHub的童鞋欢迎经常来我的空间玩耍,这样我们交流起来也非常方便。
下面的列表目录将是我以后归纳的文章,列表持续更新:
- 第一篇
- 第二篇
- 第三篇
- 未完待续...
也欢迎关注我的微信公众号:一辈子的码农先生,接下来会有非常多的干货总结,这也是我对自己几年工作的一种总结和交代。谢谢大家!