前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >趣学算法14天阅读|Day1

趣学算法14天阅读|Day1

作者头像
艾特
发布于 2023-10-10 06:54:30
发布于 2023-10-10 06:54:30
21600
代码可运行
举报
运行总次数:0
代码可运行

前言

📫 作者简介:「六月暴雪飞梨花」,专注于研究Java,就职于科技型公司后端中级工程师 🔥 三连支持:如果此文还不错的话,还请 ❤️关注、👍点赞、👉收藏三连,支持一下博主~

编写博文背景

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

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

「书籍介绍」 跟着主讲老师陈小玉陈老师一起学习算法。书籍大体分为三部分:

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

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

「算法的例子」 写一个算法,来描述 -1,1,-1,1,-1,……,(-1)ⁿ

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 算法1-1 
int sum1(int n){
   int sum=0;
   for(int i=1;i<=n;i++)
      sum+=pow(-1,i);//表示(-1)^i 
   return sum;
}

在看下另外一种算法

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
int sum2(int n){
   int sum=0;
   if(n%2==0)
      sum=0;
   else
      sum=-1;
   return sum;
}

现在看出来,什么是算法,大体上了解算法是什么了吧?

学习算法的好处

  • 工作:可以拿高薪,挑战高薪必备
  • 工作:基本功,可以在工作中快速给予解决方案
  • 工作:面试中和工作中提升自我核心竞争力
  • 个人:学习力强,让人思维清晰
  • 个人:视野开阔,使人心智成熟

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

常见的招聘要求

  • 至少熟悉一门编程语言
  • 良好的基础、熟练运用数据结构和算法
  • 熟悉数据挖掘算法
  • 熟悉机器学习理论知识

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

如何高效学习算法

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

👉 经典算法:数据结构和基础算法 👉 实用算法:利用算法解决实际问题 👉 优化算法:熟练使用优化已有算法

学习算法方式

  • 看书 + 视频 (高效)
    • 看书(最好是图解较多的入门级别的书籍)提供思考,
    • 视频动态解析
  • 题解 + 刷题
    • 专业刷题网站,专项练习
    • 查看别人的题解,学习解题方法和思路
  • 刷题 + 总结
    • 刷题(不要拷贝,尽量手写,多写几次)
    • 反思(灵活运用)
    • 总结(可以使用博文记录或者一些小册子记录)

如何进行刷题训练

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

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

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

「做笔记」 记录错误点、坑点。

如何进行算法面试

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

总结

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-11-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
趣学算法14天阅读|Day2
前一篇主要介绍了为啥学习算法,算法工程师的招聘要求,以及如何学习算法、面试算法以及面试前如何刷题等。这一篇我们开始真正的算法之旅。
艾特
2023/10/10
2060
趣学算法14天阅读|Day2
【读书笔记】《漫画算法》:克服对算法的恐惧,从漫画开始
在上小学和初高中的时候,要我写读后感这种东西,我是非常厌恶的。无非就是老师布置的一个作业,还是那种无趣且磨人的工作。
蛮三刀酱
2020/06/20
4530
如何高效学习数据结构与算法?
近年来,算法行业非常火爆,越来越多的人在学习算法。 目前,计算机的最重要领域之一是人工智能,而人工智能的核心是算法,算法已渗透到互联网、商业、金融业、航空、军事等各个领域,正在改变着这个世界。 在IT领域,数据结构与算法的应用无处不在。数据结构与算法是计算机开发人员的基本功,很多面试都要考查数据结构与算法。 学习数据结构与算法不仅可以培养我们的算法思维,提高我们分析问题、解决问题的能力,还可以让我们快速学习新技术,以更高的视角看待问题。 但是,很多人觉得数据结构与算法太难了,学起来相当枯燥、低效!那么,有没
博文视点Broadview
2023/05/06
2070
如何高效学习数据结构与算法?
从入门到修仙的算法之路
最近开展了每天一道leetcode/每天一道剑指offer的刷题活动,总有很多人问我,该如何刷题/零基础如何开始刷题,这里和大家分享一下我的经验。
乔戈里
2019/09/17
6310
从入门到修仙的算法之路
Java学习之路 -- Java怎么学?
当时,作为懵懂的小白,大一学习了c和c++,还有数据结构,后来才自学的java。有了c++的基础,其实学java确实感觉挺容易上手。如果没有c或者c++的基础,建议开始需要先把java的基础打好,基础是指什么?基础的语法,能用!至于源码,不建议在刚刚开始学就看源码,绝对劝退!!!
秦怀杂货店
2021/03/29
1.3K0
校招生如何准备面试?
我们提到面试,可能有的人脑子里蹦出的第一个词,那就是背八股文。但是面试真的可以只靠八股文吗?
公众号袁厨的算法小屋
2022/09/20
8180
校招生如何准备面试?
C++ & Linux后端进BAT的学习路线
C++,相对别的语言学习门槛会高一点,主要原因是学习路线不明确,没有像Java那么多资料。但「在大厂里」C++岗位不比java少多少。想介绍下自己学习C++的路线,以及自己的看书方式,供参考。Cpper雄起!!!
AI算法与图像处理
2021/03/13
2.3K0
科班和非科班都适用的 Java 学习路线
很多面试官在基础考察的时候都是直接是根据书来问,因为这些面试官也是从学生时代过来的,而他们可能和你看的是同一本书。也就是如果你和面试官的知识体系结构一样的话,面试官问出来的问题,你自然可以回答得很好。下面是书籍推荐:
乔戈里
2019/03/02
1.1K0
写给Java程序员看的算法学习指南!
大家好,我是 Guide 哥!这篇文章我会推荐一些关于算法学习的书籍以及资源。希望对大家学习算法有帮助!
Guide哥
2020/05/07
1.7K0
写给Java程序员看的算法学习指南!
BAT等大厂Android面试书单和知识点清单Java知识Android知识java设计模式知识算法和数据结构知识计算机系统知识数据库知识计算机网络知识Android开源项目知识
Java知识 java是Android开发的基础,在BAT的初面中,会涉及到比较多的java基础知识,所以比较重要,下面我介绍的书籍内容是由浅到深。 1.Thinking in java:这本书被称为Java的三大圣经之一,虽然书比较厚,里面的例子也比较冗长。但是如果细细去翻阅并且把例子都敲一遍的话,那么我想你的java基础会变得非常扎实。 2.Effective java:很多人会把Thinking in java 和这本书进行比较,但是我觉得两本书的侧重点还是不同的,TIJ侧重的是java基础,而
何时夕
2018/05/02
1.2K0
豆瓣评分9.2,GitHub 3.3k的学霸笔记终于出书了!获得李宏毅等大佬好评 -- 文末送书
每天给你送来NLP技术干货! ---- 文末留言送书! 我们在上学的时候,都会希望能拥有一本学霸笔记,这样能让学习变得事半功倍。要是学霸还顺带帮你押了题,那简直如有神助! 现在强化学习越来越热,作为机器学习及人工智能领域的一种重要方法,在游戏、自动驾驶、机器人路线规划等领域得到了广泛的应用。同时,强化学习对应的岗位高薪、前景广阔,吸引了许多人学习。 但是,是强化学习的学习门槛很高,光入门就特别难。如果能有学霸的帮忙,那可就能事半功倍了! 这本“蘑菇书”《Easy RL:强化学习教程》,就是一本很典型的“
zenRRan
2022/04/06
8240
豆瓣评分9.2,GitHub 3.3k的学霸笔记终于出书了!获得李宏毅等大佬好评 -- 文末送书
Java自学方法和路线,我万字推荐你这样学
大家好,我是bigsai 好久不见,甚是想念,文章同时收录在回车课堂(文底阅读原文可达)。
bigsai
2021/04/26
1.4K0
如何学Java?求各位指条路吧~
当时,作为懵懂的小白,大一学习了c和c++,还有数据结构,后来才自学的java。有了c++的基础,其实学java确实感觉挺容易上手。如果没有c或者c++的基础,建议开始需要先把java的基础打好,基础是指什么?基础的语法,能用!至于源码,不建议在刚刚开始学就看源码,绝对劝退!!!
秦怀杂货店
2022/02/17
6560
「算法与数据结构」从入门到进阶整理推荐书单
小吴花了几天时间整理了一下学习「数据结构与算法」可以参考的书籍,希望能在学习的道路上帮到你,文末提供收集的PDF版。
五分钟学算法
2019/01/23
1.6K0
呕心沥血一个月,为小白新手准备的C/C++ Linux求职版学习路线
他是非科班转到计算机来的,所以基本功比较差,我专门花了一个多月写了这篇学习路线,全文超过8000字,文章润色了好久,配套的资料全部找齐了。
拓跋阿秀
2021/10/20
1.5K0
我是如何学习数据结构与算法的?
数据结构与算法的地位对于一个程序员来说不言而喻。今天这篇文章不是来劝你们学习数据结构与算法的,也不是来和你们说数据结构与算法有多重要。
帅地
2018/10/18
1.5K0
C语言C加加新手入门基础学习书籍资料推荐
接下来会陆续介绍各自编程语言和各个领域的学习建议,本文先讲C语言。 1、C语言适合当第一门编程语言学习 、C语言语法相对简单,但又比较完整和严谨,包含该有的各种元素。学完C语言语法,要学习其它编程语言就很容易了。 、C语言接近底层,可以了解内存和计算机的基本原理。 、许多基础课程比如算法与数据结构教材都是以C语言为例子的,特别是中国版的书籍。 如果你是大一刚开始学习编程,建议选择C语言做入门。 2、C语言学习的步骤 学习语法和基础算法 ---> 了解C语言应用领域 ---> 确定是否从事C语言相关
企鹅号小编
2018/01/11
2.5K0
C语言C加加新手入门基础学习书籍资料推荐
PAT考试经验总结(甲乙级均适用)~~想满分的请看这里!~~
emmmmmmm 总算是考了个满分,不用以后再交PAT考场一日游入场费了T ^ T 第一次在去年秋天,被第一题狼人杀给干掉了〒▽〒,最后得了81分,第二次就是今年春季,侥幸满分通过了= = 为了总结自己踩过的坑,给后面要考的同学们提供一些微薄的帮助,遂作此文。
全栈程序员站长
2022/08/11
1.8K1
PAT考试经验总结(甲乙级均适用)~~想满分的请看这里!~~
自学编程。。。
最近有不少朋友后台咨询该如何自学编程,正好最近有时间,就整理了一下自学编程的路线,全文3000多字,看完有帮助的话记得帮厂长收藏转发一下,下面进入正题:
谭庆波
2021/07/08
1.3K0
自学编程。。。
大一新生以此篇开启你的算法之路
各位大一计算机萌新们,你们好,本篇博客会带领大家进行算法入门,给各位大一萌新答疑解惑。博客文章略长,可根据自己的需要观看,在博客中会有给大一萌新问题的解答,请不要错过。
摆烂小白敲代码
2024/09/23
1290
大一新生以此篇开启你的算法之路
推荐阅读
相关推荐
趣学算法14天阅读|Day2
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验