我辅导表妹学算法……

Posted 我是springmeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我辅导表妹学算法……相关的知识,希望对你有一定的参考价值。

表妹是大三的,计算机专业,985名校,妥妥的学霸一枚。

 

昨天过来,问我一些算法的相关的问题。

 

图片

小孟硕士时研究的是文本算法的,聚类、协同过滤、深度学习、机器学习等的都搞过,毕业后的第一份offer其实是DataMaining的。

 

 

不仅表妹对学习算法有一定的苦恼,平时很多粉丝朋友对于如何搞算法也很苦恼。

 

大家如果想转行做算法的工作,最好和做做法的一些朋友聊聊。当然,我的表妹也有些困扰。

 

表妹: 表哥,算法和程序有啥区别?

 

小孟:程序是实现系统开发或者算法的工具,是语言,例如Java、C++、Python等,算法的核心是思想,数据结构学了吧,数据结构中就有很多的算法,例如枚举、递归、冒泡、排序等,再往后就有高深的算法了,例如推荐算法、人脸识别算法、情感分析算法等。但是算法的本质是数学(高数、线性代数、概率统计),如果你数学学不好,一定进行不下去。

 

表妹:需要用特定的语言学习算法吗?

 

小孟:不用,语言只是工具,例如我原来搞得深度学习算法,你用java可以实现,你也可以用python实现,当然python实现可能更简单些。对于大多数的算法,例如你学习的数据结构的,你可以用Java实现,也可以用C++实现。

 

表妹:我数据结构已经学的差不多了,应该继续学习其他算法吗?

 

小孟:是吗?你讲讲什么是贪心算法,什么是哈希算法?

 

表妹:贪心算法一般按如下步骤进行,贪心算法首先是建立数学模型来描述问题。然后把求解的问题分成若干个子问题。对每个子问题求解,得到子问题的局部最优解 。把子问题的解局部最优解合成原来解问题的一个解。哈希算法就是将任意长度的二进制值映射为固定长度的二进制串,这个映射的规则就是哈希算法,原始数据映射之后得到的二进制哈希值。

 

表妹:硕士是不是主要是搞算法的?老师想让我直接申请本校的硕士。

 

小孟:可以,本科毕业后做算法的少,硕士毕业做算法的多。我看好人工智能和数据挖掘的方向,现在的数据挖掘也都很成熟了,例如和电商结合,和药学结合等行业,你浏览各个网页的时候,你再去电商平台买东西就会根据你浏览的数据,推荐你要买的东西,这就是数据挖掘中的推荐算法。还有很多的行业和深度学习、神经网络进行结合。入门的话,你先百度了解下。你真的想从事这方面的的话,我去外文文献网站,给你下载下DataMaining的Paper,你感受下。

 

小孟:如果你想找工作学习算法,我发你份资料:LeetCode,你去学习这个就可以了。

 

表妹:LeetCode,我听说过,一直没有开始。这个该如何学习呢?

 

小孟:好,我们打开文档,看下。这里有Java版的,有C++版的,你看Java版的即可。前面的比较easy,按顺序来,后面的话难度高些,如果遇到特别困难的,先跨过去。先慢慢培养算法的思维,这个比你看多少算法重要的多的多。

 

表妹:我想再借助一些书,看一下,有推荐的吗?

 

小孟:《剑指 offer》《编程珠玑》《编程之美》,都灰常经典的。

 

表妹:有什么快速进步的方法吗?

 

小孟:快速的方法,就是不断的刷题,当然如果你需要你的基本功非常的扎实,什么是基本功?就是数据结构,递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法。这些需要你非常的熟悉。你再看其他的,会很快。  你先看着LeetCode。看完之后,每天晚上回顾下,最后自己能写出来。

 

当然,小孟也不只辅导表妹学习,好东西和爱学习编程的朋友们一起分享。

 

这个资料是一位阿里大佬霜神(halfrost@github)写的 LeetCode刷题笔记。

 

这个排版简直Nice:

图片

每一个章节先讲概念和框架,然后进行实战演练,这种方式真的是学习的好帮手!

 

图片

 

图片

 

每一道题还有详细完整的解题思路,就怕你看不懂,就怕你学不会。不得不感叹:大神贴心!

 

图片

 

 

 

图片

 

 

不管你是应届找工作还是工作几年想加强算法、数据结构,这本书都是最佳选择!

 

孟哥已经把书下载好了,小伙伴可以在我公中号【在CSDN首页】后台回复:

leetcode

获取(无任何套路,不加密,有需自取)

笔记版权归原作者所有,请注明出处 https://books.halfrost.com/leetcode/

以上是关于我辅导表妹学算法……的主要内容,如果未能解决你的问题,请参考以下文章

表妹问我一道大一算法题,想半天不知道怎么以简单点的方式帮她解决。。。,最后看到答案很惭愧。

小表妹想学鸿蒙(HarmonyOS)开发板,于是我翻出了所有的鸿蒙开发板,靠,全给我抢走了,简直是野蛮表妹!

玩是学编程的最好方式

猿辅导:字符压缩算法(括号匹配)

acwing是闫学灿自己写的吗

从零入门机器学习之Linux系统详解