找回密码
 立即注册
查看: 297|回复: 0

算法学习入门书单

[复制链接]
发表于 2022-7-25 09:22 | 显示全部楼层 |阅读模式
计算机算法是个古老的话题,从计算机诞生之日起,由机器码打孔输入程序的时代就有了算法,计算机算法脱胎于数学,计算方法由程序来实现,就成为算法,算法追求的是计算的自动化,高速化,简化人工计算工作量,提升计算速度,而今算法更是成为计算机科学,前沿技术,互联网行业的重要组成部分,从人工智能,大数据,元宇宙都需要高速的算法的支撑,包括无人驾驶,人脸识别,自然语言交互,机器人自动化,行业数据分析,甚至金融数据都需要高效的算法来快速完成任务。


算法也成为目前计算机互联网行业就业的重要技能,算法工程师受欢迎程度非同寻常,薪资待遇也处于行业顶端,所以学好算法是必不可少,也出现了各大刷题网站帮助大家刷算法题,提升面是成功率,但是算法学习需要具有一定的数学基础,一般从高校计算机专业本科起就会从基础的数学和计算机理论基础的,所以要想0基础进入算法的世界,更需要循序渐进,从基础开始学习,一步步前进,这是不能太心急的。

学习算法的步骤我想是这样的:

1. 想要学习算法,首先需要熟练掌握一门编程语言,因为算法是需要用编程来实现和运行的,当让这并不要求我们精通底层的汇编语言,高级语言足够,会C语言最好,接着就是Python,用Java也可以。

2. 先掌握一定的数据结构的知识体系,熟练运用数据结构,才可以方便的实现算法。


3. 可以先进行基础的算法的学习了。说是基础算法,主要是指基本的排序,搜索,规划等通过数据结构来完成的算法,不太涉及统计学知识的,但是就算最基本最简单的算法,也有非常多的优化工作,也可以无限难。

4. 再进一步的话,掌握一定的数学和算法理论基础,统计学概率论图论等基础。


5. 再深入进入相对高级的算法学习,包括机器学习,深度学习等理论,成为现代各大人工智能应用的实践基础。


今天先介绍基础算法的入门书单:

这部分学习路径如下:


数据结构(基础)=》基本算法(算法)=》算法复杂度(优化)

一、离散数学和数据结构


离散数学是数字化的基础,计算机专业必备,要先学学,数据结构就不必说,没有数组,链表,树,咋写算法。

1. 离散数学及其应用(原书第8版)




算法领域更加推荐这套经典书系列,机械工业出版社,这系列中有非常多的经典计算机理论的书籍可以作为主要教程好好学习,先从离散数学开始。

2. 数据结构(C语言版)



下面就是正宗的数据结构,这版本是用C语言描述的,如果你更熟悉Java,可以选择Java语言实现版本。


3. 数据结构与算法分析:Java语言描述(原书第3版)



仍然是经典的数据结构,开始涉及进入算法的内容。

二、基础算法


这部分介绍了计算机经典算法,首推经典的《算法导论》,可以说是人手一本也不为过。


1. 算法导论(原书第3版)



下面这本也算是算法经典巨著。


2. 算法(第4版)(图灵出品)



讲解非常清晰,配有彩色图解,方便理解,对于基础经典算法讲解到位。


三、算法分析和优化

下面涉及到算法复杂度的分析和优化的话题

1. 现代算法设计与分析



2. 计算复杂性:现代方法



这部分希望大家重视,算法复杂度分析是研究生课程,可见其重要性,同时也可以使算法能力水平提升到一个档次,可以会用,也懂得原理和优化。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-15 12:15 , Processed in 0.090818 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表