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

趣学算法14天阅读|Day1

作者头像
艾特
发布于 2023-10-10 06:54:30
发布于 2023-10-10 06:54:30
21500
代码可运行
举报
运行总次数: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 删除。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 编写博文背景
  • 学习算法的好处
  • 常见的招聘要求
  • 如何高效学习算法
  • 学习算法方式
  • 如何进行刷题训练
  • 如何进行算法面试
  • 总结
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档