内容说明

本文主要记录了自己对数据结构的系列学习以及思考过程,主要会包括的内容有:

  • 不同的数据结构的概念阐述以及代码实现,其使用场景以及注意问题
  • 经典的一些算法
  • 数据结构对编程思维的帮助
  • leetcode算法题解析
  • 相关内容的学习笔记

如果你对这方面内容有兴趣,或者也在学习相关的,可以进到相关章节进行一些沟通学习讨论。

学这个没实用?

大多数开发者,尤其前端认为学习数据结构与算法究竟有什么用,因为实际工作中:

  1. 基本涉及不到使用数据结构的场景
  2. 即使用到了,也是用第三方的开源库,不会自己写

但并非如此!

大厂敲门砖

几乎所有的大厂,都会要求数据结构与算法的基础。

更好的使用框架或者库

虽然开源的框架或者库非常多,也可以解决我们大部分的问题。在这些框架底层基本都会使用数据结构和算法的知识,如果你有这部分基础,便能够更好的使用,或者二次封装,甚至是重构、开源自己的一个框架。

代码性能

好的代码除了可维护性强,一定也要是性能佳的,如果仅仅是出于满足业务的需求,可能你的代码水平永远提升不了。

个人技术壁垒

如果你的数据结构和算法能力很好,会成为你个人的技术壁垒,帮你在同行从业者中脱颖而出。

也能让你在个人的职业生涯中,不断的递进,设计出更好的代码,更好的方案。

学习目的

当然肯定不是记住这些知识点,而是学会优良的编程思维。

当业务场景中的某个需求没有思路时,我们可以尝试着思考下数据结构中有没有类似的场景;

当已有的某一种数据结构无法实现需求时,我们可以根据自己的需求,整合或者变更某些数据结构,来符合自己的业务;

当应用需要实现极致性能的时候,熟悉数据结构,了解空间复杂度以及时间复杂度的分析,能让我们有更好的方向,选择最合适的。