0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何成为一个算法工程师

工程师人生 来源:工程师吴畏 2019-07-29 17:16 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

近年来,算法行业异常火爆,算法工程师年薪一般20万~100 万。越来越多的人学习算法,甚至很多非专业的人也参加培训或者自学,想转到算法行业。尽管如此,算法工程师仍然面临100万的人才缺口。缺人、急需,算法工程师成为众多企业猎头争抢的对象。

计算机的终极是人工智能,而人工智能的核心是算法,算法已经渗透到了包括互联网、商业、金融业、航空、军事等各个社会领域。可以说,算法正在改变着这个世界。

下面说说如何成为一个算法工程师,万丈高楼平地起,尽管招聘启事的算法工程师都要求会机器学习,或数据挖掘,推荐算法,图像识别等,但刚入门者,还需要先从基础学起,宽基础,精技术。

大学期间必须要学好的课程:C/C++两种语言(或JAVA)、高等数学、线性代数、数据结构、离散数学、数据库原理、操作系统原理、计算机组成原理、人工智能、编译原理、算法设计与分析。

Ø大一上学期:

1.C语言基础语法必须全部学会,提前完成C语言课程设计。

2.简单数学题:求最大公约数、筛法求素数、康托展开、同余定理、次方求模等。

3.计算机课初步:三角形面积,三点顺序等等。

4.学会计算简单程序的时间复杂度和空间复杂度。

5.二分查找、贪心算法经典算法。

6.简单的排序算法:冒泡排序法、插入排序法。

7.高等数学。

8.操作系统应用:DOS命令,学会Windows系统的一些小知识,学会编辑注册表,学会使用组策略管理器(gpedit.msc)管理组策略等。

Ø大一下学期:

1.掌握C++部分语法,如引用类型、函数重载等,基本明白什么是类。

2.学会使用栈和队列等线性结构。

3.掌握BFS和DFS以及树的前序、中序、后序遍历。

4.学会分治策略。

5.掌握排序算法:选择排序、归并排序、快速排序、计数、基数排序等等。

6.动态规划:最大子串和、最长公共子序列、最长单调递增子序列、01背包、完全背包等。

7.数论:扩展欧几里德算法、求逆元、同余方程、中国剩余定理。

8.博弈论:博弈问题与SG函数的定义、多个博弈问题SG值的合并。

9.图论:图的存储、欧拉回路的判定、单源最短路Bellman-Ford算法及Dijkstra算法、最小生成树Kruskal算法及Prim算法。

10.学会使用C语言进行网络编程与多线程编程。

11.高等数学、线性代数:做几道“矩阵运算”分类下的题目。

12.学习matlab,如果想参加数学建模大赛,需要学这个软件。

Ø大一假期:

1.掌握C++语法,并熟练使用STL(重要)。

2.试着实现STL的一些基本容器和函数、使自己基本能看懂STL源码。

3.数据结构:字典树、并查集、树状数组、简单线段树。

4.图论:使用优先队列优化Dijkstra算法及Prim算法,单源最短路径之SPFA,差分约束系统,多源多点最短路径之FloydWarshall算法,求欧拉回路(圈套圈算法)。

5.拓扑排序:复杂BFS和DFS搜索、复杂模拟题训练。

6.动态规划:多重背包、分组背包、依赖背包等各种背包问题(参见背包九讲)。

7.计算几何:判断点是否在线段上、线段相交、圆与矩形的关系、点是否在多边形内、点到线段的最近点、多边形面积、求多边形重心、求凸包、点在任意多边形内外的判定。

8.学习使用C/C++连接数据库、学习一种C++的开发框架来编写一些窗体程序(如MFC、Qt)。

Ø大二全年:

1.熟练掌握数据结构:单调队列、堆、并查集、树状数组、哈希表、线段树、LCA与RMQ的转化、后缀树、字典树、KMP算法、AC自动机理论与实现等等。

2.图论一:强连通分量、双连通分量、割点、桥、强连通分量和双连通分量缩点、二分图匹配(二分图最大匹配、最小点集覆盖、最小路径覆盖、二分图最优匹配、二分图多重匹配)、网络流(最大流的基本SAP、最大流的ISAP/Dinic等高效算法、最小费用最大流、最大流最小割定理)等。

3.动态规划:斜率优化、四边形优化动态规划、树形动态规划、状态压缩动态规划,多做动态规划难题,训练思维,向动态规划更高级进阶。

4.数论和组合数学:高斯消元法、积性函数的应用、欧拉定理、费马小定理、威尔逊定理、群论基础、Polya定理与计数问题、Catalan数。

5.计算几何:多边形间并蹱点对、凸多边形间对蹱点对、四边形剖分、三角剖分、凸多边形最小周长外接矩形、凸多边形最小面积外接矩形、凸多边形间最小距离、凸多边形直径、凸多边形的宽度等各种旋转卡壳相关算法、最小覆盖圆、定圆最大点集覆盖、平面上最近点对、三维计算几何算法。

6.图论二:网路流的各种构图训练(重要)、最小割与最小点权覆盖等的关系、次小生成树、第k短路、最小比率生成树等。

7.学好专业课知识:理解数据库原理、学会SQL语句、学会使用触发器、学好计算机组成原理。

Ø大二假期:

1.自学完离散数学。

2.自学概率论部分章节。

3.自学操作系统部分章节。

Ø大三以后:

选择自己感兴趣的方向进行研究,参加ACM-ICPC竞赛的队员,需要全面学习和集训。

Ø课程推荐:

必学课程:C/C++/JAVA、数据结构、算法设计与分析、离散数学、线性代数、概率论、操作系统、网络原理、编译原理。

Ø书籍推荐

1.《C++ Primer中文版》

2.《C++编程思想》

3.《算法竞赛入门经典》

4.《算法竞赛入门经典:训练指南》

5.《趣学算法》

6.《ACM国际大学生程序设计竞赛:知识与入门》

7.《ACM国际大学生程序设计竞赛:题目与解读》

8.《算法艺术与信息学竞赛》

9.《组合数学》

10.《数论入门》

11.《算法导论》

12.《ACM-ICPC世界总决赛试题解析》

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 算法工程师
    +关注

    关注

    2

    文章

    31

    浏览量

    6359
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    算法工程师不愿做标注工作,怎么办?

    、无聊的情绪,从而影响标注的质量。算法工程师需要将自身精力放到其他重要工作当中,而专岗的图像标注员势必会增加人力成本。随着AI技术的不断进步,各类AI工具大爆发,对
    的头像 发表于 12-02 17:56 266次阅读
    <b class='flag-5'>算法</b><b class='flag-5'>工程师</b>不愿做标注工作,怎么办?

    硬件工程师面试必会:10核心考点#硬件设计 #硬件工程师 #电路设计 #电路设计

    硬件工程师
    安泰小课堂
    发布于 :2025年09月23日 18:00:33

    招镶入式工程师1,硬件工程师

    东莞市研生科技有限公司是家蓝牙方案公司,主营蓝牙方案的设计开发,产品包括蓝牙BLE/4G透传/AI智能体方案开发,因公司发展需要需对外招聘嵌入式软件开发工程师,对蓝牙音频/BLE以及智能IC读卡器有三年实操经验,能单独完成项目的软件开发,男女不限,投简历邮箱:65905
    发表于 08-29 02:14

    做了电子工程师之后,最好拍的视频出现了#硬件设计 #电子DIY #电子工程师

    电子工程师
    安泰小课堂
    发布于 :2025年06月24日 17:45:57

    问,成为硬件工程师需要几只手?#硬件工程师 #YXC晶振 #扬兴科技 #搞笑

    硬件工程师
    扬兴科技
    发布于 :2025年04月25日 17:15:37

    如何成为名合格的KaihongOS北向应用开发工程师

    如何成为名合格的北向应用开发工程师 在快速发展的软件开发领域,北向应用开发工程师专注于
    发表于 04-23 06:46

    如何成为名嵌入式软件工程师

    如何成为名嵌入式软件工程师? 01明确岗位的角色与定位 嵌入式软件工程师主要负责开发运行在特定硬件平台上的软件,这些软件通常与硬件紧密集成,以实现特定的功能。 不仅需要精通编程语言
    发表于 04-15 14:37

    硬件工程师:回答我!#回答我 #硬件工程师 #YXC晶振 #扬兴科技

    硬件工程师
    扬兴科技
    发布于 :2025年03月25日 18:46:59

    招拿捏电子工程师#被AI拿捏了 #电子工程师 #电子电工

    电子工程师
    安泰小课堂
    发布于 :2025年03月25日 17:30:51

    如何成为嵌入式开发工程师

    如何成为嵌入式开发工程师成为嵌入式开发工程师通常需要掌握系列技能和知识,并且在实践中不断积累经验。以下是
    发表于 02-19 10:39

    如何成为名合格的北向应用开发工程师

    在快速发展的软件开发领域,北向应用开发工程师专注于系统级应用开发的高需求职位。 以下是成为名合格的KaihongOS北向应用开发
    发表于 01-10 10:00