写点什么

“程”风破浪的开发者|慢慢踏上算法学习之旅

作者:Aion
  • 2022-10-21
    广东
  • 本文字数:1581 字

    阅读完需:约 1 分钟

“程”风破浪的开发者|慢慢踏上算法学习之旅

前言

📫 作者简介:「Aion」,专注于运维开发,就职于某科技型公司,担任后端中级开发工程师

🔥 三连支持:如果此文还不错的话,还请 ❤️关注、👍点赞、👉收藏三连,支持一下博主~

算法学习写作背景


「编写博文」

科幻作家刘慈欣在其科幻小说《三体》中虚构了一个“三体世界”,也向公众科普了牛顿 1687 年提出的这个著名“三体问题”。事实上, “三体问题”正是历史上悬而未决的著名科学问题。暨南大学副教授李晓明在国际杂志《新天文学(new astronomy)》发表论文,将“机器学习”与其发明的极高精度数值算法相结合,提出了求解“三体问题”周期轨道的路线图,在数量级层面大大提高了计算效率,为获得“三体问题”海量、精确的周期轨道铺平了道路。如下图所示:



从上面的描述的字里行间,我们是不是对算法由心底产生了深深的敬佩之意。而当前,我正在阅读我比较喜欢的小说——《三体》。也是由于这个原因,我报名并参加了算法的学习。


「书籍介绍」

跟着主讲老师一起学习算法。书籍大体分为三部分:


第一部分:第一章节 算法之美第二部分:第二章节~第七章节 经典算法第三部分:第八章节(新增内容,实际应用中的算法合和高频面试题)


首先根据老师的介绍,第二版比第一版更简洁,增加了一章节关于实用算法的应用的内容。便开始了我的学习之旅~ (此处不该安静的听讲,掌声激烈 👏👏👏)

学习算法的好处

  • 工作:可以拿高薪,挑战高薪必备

  • 工作:基本功,可以在工作中快速给予解决方案

  • 工作:面试中和工作中提升自我核心竞争力

  • 个人:学习力强,让人思维清晰

  • 个人:视野开阔,使人心智成熟


所以,学习算法是否燃起了你的激情之火,蠢蠢欲动的小手开始痒痒的,要开始敲打着键盘编写算法了呀~

常见的招聘要求

  • 至少熟悉一门编程语言

  • 良好的基础、熟练运用数据结构和算法

  • 熟悉数据挖掘算法

  • 熟悉机器学习理论知识


以上要求层层递进,基础的基本功(基础算法和数据结构)是算法工程师的必备要求,当然越往上你的钱包会越来约鼓鼓的~

如何高效学习算法

老师的经验告诉我们,首先要学习数据结构和算法,这两个是 IT 从业人员的基本内功。系统学习,刷题实战,循序渐进,一步一步来掌握知识。其中,经典算法、实用算法和面试算法是我们的学习的步骤的一个大体的架构。

👉 经典算法:数据结构和基础算法

👉 实用算法:利用算法解决实际问题

👉 优化算法:熟练使用优化已有算法

学习算法方式

  • 看书 + 视频 (高效)

  • 看书(最好是图解较多的入门级别的书籍)提供思考,

  • 视频动态解析

  • 题解 + 刷题

  • 专业刷题网站,专项练习

  • 查看别人的题解,学习解题方法和思路

  • 刷题 + 总结

  • 刷题(不要拷贝,尽量手写,多写几次)

  • 反思(灵活运用)

  • 总结(可以使用博文记录或者一些小册子记录)

如何进行刷题训练

「什么时候刷题」

掌握一种算法之后,举一反三,找相对应的题目进行练习,不要复制粘贴,从简单到复杂,从容易到困难,多练习几次,多敲打几次。


「在哪里刷题」

这里非常感谢老师,提供了一些刷题网站,提供的刷题网站主要有比赛类、找工作类、在线测试等一些刷题网站来刷题和测试。


「提交算法时遇到问题」

冷静分析问题,分析哪里可能会出问题、逻辑算法错误、易错点、选择算法是否合理、是否有死循环等,一定要关注、学习和分析时空复杂度


「做笔记」

记录错误点、坑点。

如何进行算法面试

老师讲课很幽默风趣,听课过程中看到屏幕中学生对老师都是喜爱之意。老师说,在面试时:首先,是平时的积累,一般情况时 1~2 年的时间(我感觉用这几个字概括比较好:算法要趁早);其次,准备面试,大约 1~3 个月时间(我感觉用这几个字概括比较好:准备要充足);然后,模拟面试,检查学习情况,查缺补漏(我感觉用这几个字概括比较好:考前练习);最后,储备知识,了解面试公司,多刷一些要面试公司的算法题目

总结

非常感谢陈老师给予算法的讲解,让我对算法有一个初步的认识。学习是一个充实、快乐的过程,他能让我们在生活中充满乐趣。最后用老师的话来结束第一天的学习:



发布于: 刚刚阅读数: 6
用户头像

Aion

关注

一定要站在自己所热爱的世界里,闪闪发光。 2018-11-08 加入

热爱研究 爱自己,爱生活,爱家人 在自己的世界里独善其身、在别人的世界里顺其自然

评论

发布
暂无评论
“程”风破浪的开发者|慢慢踏上算法学习之旅_学习方法_Aion_InfoQ写作社区