学习算法前的准备工作

394 阅读3分钟

这是我参与更文挑战的第2天,活动详情查看: 更文挑战

写作背景

这是在公司第一次分享会上的时候提到的一个核心内容,但是是想描述下算法与思维的关系,不过最终因为准备不足,而讲的不是那么好。

所以总结整理一下自己想表达的东西,在掘金再写一次,希望大家能多多讨论,让我验证下我的理论是否可行。

算法与思维

一、题意

可能大家看到这里,首先会冒出一个问题, 算法与思维到底有什么关联?

那么我们从看到一道题开始,从这里开始阐述我的理论。

当我在刚开始学习算法的时候,最大的阻碍,其实并不是用什么语言、什么数据结构、什么算法。

如果小伙伴也有刚刚开始接触算法题的话,应该会在脑海中也冒出过这样的问题,这道题到底是想让我做什么?

反正我是经常会冒出这样的问题,以至于我甚至需要花一点点时间,来搞懂题意

二、怎么解

当搞懂了题意的时候,就该开始思考解题方法了,到这一步,其实仍然不需要考虑数据结构和算法。

我和我朋友在讨论算法题的时候,我说过这样一句话(我知道应该谦虚,但这句话确实是我说的):“如果你能把你的想法一步步的描述出来,那么你就成功解出这道题了。”

这一步其实就是阐述你大脑的解题步骤,大家可以自我感知下,让我问你1+1=?的时候,你会很自然的回答2,如果被套路过的小伙伴可能会纠结下我问的是不是数学题,但忽略它。

是的, 1+1=2, 但是为什么等于2呢?我们能不能把我们得出结论的过程描述出来呢?

如果我们对于每个问题的答案都能把思考的过程描述出来,那么我们不就是解答了一道题了吗?

三、写出来

当我们用自己的语言表达了一道题的解法之后,那么剩下的步骤,就是套用合适的编程语言、数据结构和算法去他呈现在解答框内了。

那么怎么学习数据结构和算法呢? 网上有很多收费以及免费的资源,大家可以按照自己喜欢的方式去学习。

总结

其实算法和思维是相互成就的。 用算法去实现自己思考的过程,用算法去改变自己的思维方式。

以我为例,在我接触算法前后,我能清晰的感受到自己在表达和思考方式的转变。

如果大家有自由时间不知道做什么的, 真的非常推荐大家可以试试算法,反正不要钱也不会炸。