内容说明
本文主要记录了自己对数据结构的系列学习以及思考过程,主要会包括的内容有:
- 不同的数据结构的概念阐述以及代码实现,其使用场景以及注意问题
- 经典的一些算法
- 数据结构对编程思维的帮助
- leetcode算法题解析
- 相关内容的学习笔记
如果你对这方面内容有兴趣,或者也在学习相关的,可以进到相关章节进行一些沟通学习讨论。
学这个没实用?
大多数开发者,尤其前端认为学习数据结构与算法究竟有什么用,因为实际工作中:
- 基本涉及不到使用数据结构的场景
- 即使用到了,也是用第三方的开源库,不会自己写
但并非如此!
大厂敲门砖
几乎所有的大厂,都会要求数据结构与算法的基础。
更好的使用框架或者库
虽然开源的框架或者库非常多,也可以解决我们大部分的问题。在这些框架底层基本都会使用数据结构和算法的知识,如果你有这部分基础,便能够更好的使用,或者二次封装,甚至是重构、开源自己的一个框架。
代码性能
好的代码除了可维护性强,一定也要是性能佳的,如果仅仅是出于满足业务的需求,可能你的代码水平永远提升不了。
个人技术壁垒
如果你的数据结构和算法能力很好,会成为你个人的技术壁垒,帮你在同行从业者中脱颖而出。
也能让你在个人的职业生涯中,不断的递进,设计出更好的代码,更好的方案。
学习目的
当然肯定不是记住这些知识点,而是学会优良的编程思维。
当业务场景中的某个需求没有思路时,我们可以尝试着思考下数据结构中有没有类似的场景;
当已有的某一种数据结构无法实现需求时,我们可以根据自己的需求,整合或者变更某些数据结构,来符合自己的业务;
当应用需要实现极致性能的时候,熟悉数据结构,了解空间复杂度以及时间复杂度的分析,能让我们有更好的方向,选择最合适的。