Luna Tech

Tutorials For Dummies.

数据结构学习笔记(1)

2023-02-10


1. 给自己一个学好数据结构和算法的理由

数据结构和算法,一直是压在我心头的一块巨石。

非科班出身,所以总觉得这东西特别高大上,越是害怕,越是不想学,越是拖延。

从功利的角度来看,学好数据结构和算法有利于找工作,通过技术面。

但是假如不换工作呢?假如就一直做 manager 呢?

数据结构和算法,是否能跳过?

答案是:不行。


2. 为什么要学数据结构和算法?

学好数据结构和算法,是一件有趣且投入回报率高的事情。

曾经有程序员朋友告诉我,TA 学一门新的编程语言的方法就是去 leetcode 刷题,用这种新的语言。

这既是程序员的基本功,也是思维方式的训练。

了解数据结构的特性,可以在业务场景中选择合适的数据结构来达成目标,提升程序性能。

了解常见的算法技巧,可以在遇到相似的问题时用熟悉算法来解决。


3. 数据结构和算法,学到什么程度算够?

假如不是算法工程师,只要掌握常用的技巧和方法就够了。

从面试官的角度来说,考察算法也是考察基本功,并不是要用偏题怪题来难倒对方。

数据结构是工具,算法是通过合适的工具解决特定问题的方法。

学习算法之前,最起码得了解那些常用的数据结构,了解它们的特性和缺陷。


4. 怎么学算法?

常见的推荐资源:

这些资源我都看过一些内容,但是现在我决定选择的资源是 Labuladong 的博客。

5. 为什么选 labuladong?

  1. 他致力于把算法的框架思维讲清楚;
  2. 配套的插件适合辅助刷题;

学习资源不在多,找到适合自己的最重要。在时间有限的情况下,我觉得中文的教程 + 框架思维 + Java 代码最适合我。

所以,这次就不要三心二意了,把这套教程学好,把该练习的题目刷起来,跨越内心的障碍,解决算法这个老大难问题吧~