这部分知识相当于C语言的进阶知识啦,而且这些知识对所有语言是通用的,把它比作编程语言的灵魂毫不为过。
1一、入门
- 《大话数据结构》
这本书最大的特点是,它把理论讲得很有趣,不枯燥。而且每个数据结构和算法,作者都结合生活中的例子进行了讲解, 能让你有非常直观的感受。
- 《算法图解》
主打“图解”,通俗易懂。它只有不到 200 页,所以内容比较少。作为入门,看看这本书,能让你对数据结构和算法有个大概的认识。
2二、基础
- 《数据结构与算法分析 :C 语言描述》
这本书非常系统、全面、严谨,而且又不是特别难,适合对数据结构和算法有些了解,并且掌握了至少一门编程语言的同学。
- 算法设计与分析基础(豆瓣评分8.7)
本书十分适合用作算法设计和分析的基础教材,也适合任何有兴趣探究算法奥秘的读者使用,只要读者具备数据结构和离散数学的知识即可。
- 算法详解(卷1)——算法基础(豆瓣评分8.8)
本书为对算法感兴趣的广大读者提供了丰富而实用的资料,能够帮助读者提升算法思维能力。本书适合计算机专业的高校教师和学生,想要培养和训练算法思维和计算思维的IT专业人士,以及在准备面试的应聘者和面试官阅读参考。
3三、进阶
这三本书非常经典,但都很厚,看起来比较费劲,估计很少有人能全部看完。但如果想更深入地学一遍数据结构和算法,还是建议去看看。
- 《算法导论》
章节安排不是循序渐进,里面有各种算法正确性、复杂度的证明、推导,对数学功底有一定要求,看起来有些费劲。
- 《算法》
偏重讲算法。内容不够全面,对数据结构方面的知识讲的不多,动态规划这么重要的知识点却没有讲。
- 《计算机程序设计艺术》
这本书包括很多卷,相比于其他书籍有更好的深度、广度、系统性和全面性。但如果你对数据结构和算法不是特别感兴趣,没有很好的数学、算法、计算机基础,很难把这本书读完、读懂。
4四、实战
动手写代码动手写代码!
- LeetCode:图解算法数据结构 力扣
总结的非常全,将数据结构和算法分类,并提供了实战题目和对应的题解。强烈推荐!
- 网友总结的算法思维系列:
fucking-algorithm/算法思维系列 at master · labuladong/fucking-algorithm
5五、面试
- 《剑指 offer》
这本书几乎包含了所有常见的、经典的面试题。如果能搞懂这本书里的内容,应付一般公司的面试应该不成问题。
- 《编程珠玑》
这本书的豆瓣评分非常高,有 9 分。这本书最大的特色就是讲了很多针对海量数据的处理技巧。这个可能是其他算法书籍很少涉及的。面试的时候,海量数据处理的问题也是经常会问的,特别是校招面试。不管是开拓眼界,还是应付面试,这本书都很值得一看。
- 《编程之美》
这本书有多位作者,其中绝大部分是微软的工程师,所以书的质量很有保证。不过,这里面的算法题目稍微有点难,也不是很系统,这也是我把它归到面试这一部分的原因。如果你有一定基础,也喜欢钻研些算法问题,或者要面试 Google、Facebook 这样的公司,可以拿这本书里的题,先来自测一下。
6六、课外阅读
比较适合在平时悠闲的时候翻翻看看,这些书都列举了大量的列子来解释说明,非常通俗易懂。
- 《算法帝国》
- 《数学之美》
- 《算法之美》
推荐这几本书:
- 彭军和向毅的《数据结构与算法》
跟完教学视频:
- 数据结构:浙江大学的国家精品慕课视频,里面的配套练习非常丰富,对小白也非常友好。
**多做OJ题:**有关数据结构和算法的Online Judge都是有一定的难度的,想要搞ACM的话推荐几个Online Judge系统。
- 北京大学的Online Judge
- 杭州电子科技大学的OJ
经典数据结构和算法题:
- 逆波兰算术表达式 :栈的运用
- 二叉树前序/中序/后序遍历:二叉树的遍历
- 合并果子 :堆(二叉树的一种)的运用
- 贪吃蛇最短路径寻食:广度优先搜索算法(用到队列)
- 贪吃蛇最快路径选择:深度优先搜索算法(用到栈)
- 遗传算法计算函数零点:用到遗传算法的思想
7可视化展现
- visualgo
https://visualgo.net/zh涵盖了主流的数据结构,可视化展示,支持对其进行各种操作,以及提供了很多示例
- Data Structure Visualizations
https://www.cs.usfca.edu/~galles/visualization/Algorithms.html同样是涵盖了主流数据结构和算法,提供动态演示功能。
说句题外话
今年很多人都在讨论一个问题:就业形势险峻,毕业生们怎么办?
错过了春招,秋招竞争激励,现在投了几十份简历却还都石沉大海,22/23届同学烦得头都快秃了。
其实你没事多去招聘网站上看看,你会发现不少基础岗位的招聘都写上了对python的技能要求,这也就意味着,会写程序的人会更吃香。
现在的社会,时代已经不同了,它在加速淘汰不会学习的人,所以大学期间多学点东西,不要毫无准备的去接受社会的毒打!
就算是在非专业技术领域python几乎都可以用到,特别是自动化办公和数据处理方面,python有独特的优势。而python入门相对简单,对大学生来说是一门好上手学的编程语言,就算不是找工作,利用python兼职赚点零花钱也不错啊!
如今是一个大数据的时代,Python 在行为收集和数据分析,信息采集等方面的应用已经非常非常普遍,早就不是程序员的专属技能了。就像 office 一样,是Python 已经成为了进入职场的必备技能。不是很意外,但这就是正在发生的大趋势。
Python的特点
1.需求大:百度、新浪、搜狐、淘宝、腾讯QQ等大部门的互联网相关企业都在利用Python,对Python的人才需求很大。
2.开展空间广:在无孔不入的互联网使用情况下,人工智能、大数据等领域非常适合Python的发展,这也就阐明了挑选进修Python将会有很不错的发展空间。
3.简单易学:小学生也可以上手学习的计算机语言。举个例子一个程序用C语言需要1000行的代码,用JAVA需要写100行,但是如果用Python你只需要20行,语法很简洁。
Python岗位薪资水平如何?
Python如何学习?
今天只要你给我的文章点赞,我私藏的Python学习资料一样免费共享给你们,来看看有哪些东西。
Python学习大礼包
Python入门到精通背记手册
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
👉CSDN大礼包:《python入门&进阶学习资源包》免费分享
Python安装包
Python爬虫秘籍
Python数据分析全套资源
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
👉CSDN大礼包:《python入门&进阶学习资源包》免费分享
Python实现办公自动化全套教程
Python面试集锦和简历模板
Python副业兼职路线
资料领取
上述这份完整版的Python全套学习资料已经上传CSDN官方,朋友们如果需要可以微信扫描下方CSDN官方认证二维码 即可领取↓↓↓