【建议前端必刷】 用 js 刷LeetCode 算法专题(全)

写作初心

提问:为什么要学习数据结构和算法?

如果你能明确这个问题的答案,just do it !直接跳过后面内容,开始刷题就好了。

解决问题的思想

计算机只是一个很冰冷的机器,你给他下发什么样的指令,它就能作出什么样的反应。
而开发工程师要做的是如何把实际的问题转化成计算机的指令,如何转化,来看看《数据结构》的经典说法:

设计出数据结构, 在施加以算法就行了。

所以,很重要的一点,数据结构和算法对建立解决问题的思想非常重要。

如果说 Java 是自动档轿车,C 就是手动档吉普。数据结构呢?是变速箱的工作原理。你完全可以不知道变速箱怎样工作,就把自动档的车子从 A 开到 B,而且未必就比懂得的人慢。写程序这件事,和开车一样,经验可以起到很大作用,但如果你不知道底层是怎么工作的,就永远只能开车,既不会修车,也不能造车。如果你对这两件事都不感兴趣也就罢了,数据结构懂得用就好。但若你此生在编程领域还有点更高的追求,数据结构是绕不开的课题。

面试

这是非常现实的一点,也是很多前端学习数据结构和算法的原因。

一般对待算法的态度会分为以下几类:

  • GoogleMicrosoft 等知名外企在面试工程师时,算法是起决定性因素的,前端工程师也是一样,基本是每一轮都会考察,即使你有非常强的背景,也有可能因为一两道算法答的不好而与这样的企业失之交臂。

  • 第二类,算法占重要因素的,国内的某些大厂在面试时,也会把数据结构和算法作为重要的参考因素,基本是面试必考,如果你达不到一定的要求,会直接挂掉。

  • 第三类,起加分作用,很多公司不会把数据结构和算法作为硬性要求,但是也会象征性的出一些题目,当你把一道算法题答的很漂亮,这绝对是加分项。

你可能感兴趣的:(小狮子前端Vue进阶小册,算法,数据结构,面试,java,快速排序)