趣学算法14天阅读|Day1

14天阅读挑战赛


前言

📫 作者简介:「六月暴雪飞梨花」,专注于研究Java,就职于科技型公司后端中级工程师

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

编写博文背景

「编写博文」
科幻作家刘慈欣在其科幻小说《三体》中虚构了一个“三体世界”,也向公众科普了牛顿1687年提出的这个著名“三体问题”。事实上, “三体问题”正是历史上悬而未决的著名科学问题。暨南大学副教授李晓明在国际杂志《新天文学(new astronomy)》发表论文,将“机器学习”与其发明的极高精度数值算法相结合,提出了求解“三体问题”周期轨道的路线图,在数量级层面大大提高了计算效率,为获得“三体问题”海量、精确的周期轨道铺平了道路。如下图所示:
在这里插入图片描述
从上面的描述的字里行间,我们是不是对算法由心底产生了深深的敬佩之意。而当前,我正在阅读我比较喜欢的小说——《三体》。也是由于这个原因,我报名并参加了CSDN举办的活动:《趣学算法》14天阅读

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

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

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

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

// 算法1-1 
int sum1(int n){
   int sum=0;
   for(int i=1;i<=n;i++)
      sum+=pow(-1,i);//表示(-1)^i 
   return sum;
}

在看下另外一种算法

int sum2(int n){
   int sum=0;
   if(n%2==0)
      sum=0;
   else
      sum=-1;
   return sum;
}

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

学习算法的好处

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

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

常见的招聘要求

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

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

如何高效学习算法

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

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

学习算法方式

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

如何进行刷题训练

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

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

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

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

如何进行算法面试

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

总结

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

  • 22
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 40
    评论
机械臂的算法设计涉及到MATLAB与Simulink,主要包括运动学、动力学、轨迹规划和路径规划等方面。 在运动学方面,可以利用MATLAB建立机械臂的运动学模型,例如双关节机械臂可以通过拉格朗日方法建立动力学模型。在运动学模型的基础上,可以设计运动学控制算法,实现机械臂的位置和姿态控制。 在动力学方面,可以利用MATLAB进行仿真,建立机械臂的动力学模型,并设计控制器,采用反馈控制方法,例如PID控制,以消除误差并实现轨迹跟随。 轨迹规划是指规划机械臂从起始点到目标点的运动轨迹。常用的轨迹规划算法包括RRT(rapidly-exploring random tree)。通过构建多维状态空间和障碍检测算法,利用RRT算法生成一个随机扩展树,直到达到目标位置。 路径规划是指规划机械臂从起始点到目标点的路径。常用的路径规划算法包括RRT(rapidly-exploring random tree)及其变种。通过构建多维状态空间和障碍检测算法,应用RRT算法,生成一条可行的路径。 综上所述,机械臂算法设计涉及到MATLAB与Simulink,包括运动学、动力学、轨迹规划和路径规划等方面。可以利用MATLAB建立机械臂的运动学和动力学模型,并设计相应的控制算法,以实现机械臂的轨迹跟随和路径规划。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 40
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

六月暴雪飞梨花

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值