▲ 第二个建议:大视野,不求甚解
经常有学生为了一个公式推导,或几句代码抛锚,甚至停滞数日,然后淹没在无尽的挫败感中,把自己弄得垂头丧气。公式可以不懂,代码可以不会。你不必投入大量精力试图推导书上的每一个公式,也不必探究语法或技术细节。
学算法就是学算法本身,首先是算法思想,解题思路,然后是算法实现,算法思想的背后可能有高深的数学模型,复杂的公式推导,你理解了当然玄妙,不懂就拉倒。
算法实现可以用任何语言,所以不必纠结是 C,C ,Java,Python,更不必管严格的语法规则,除非你要上机调试。
建议还是先领会算法,写伪代码,在大脑中调试吧,如果没有良好的编程经验,一开始就上机或许更让你崩溃。遇到不懂的部分,浏览一下或跳过去,读完了还不明白再翻翻别的书,
总有一天,你会发现,“暮然回首,那人却在灯火阑珊处”。
▲ 第三个建议:多交流,见贤思齐
与同学,朋友,教师或其他编程爱好者们一起学习和讨论问题,是取得进步最有效的办法,也是分享知识和快乐的途径。
加入论坛,加入交流群,会了解其它人在做什么,怎么做,遇到问题可以请教高手,带来醍醐灌顶的喜悦;也可以应助菜鸟,使你暗自得意,信心倍增。论坛和群也会分享大量的学习资料和视频,还有不定期的培训讲座,读书交流会,你会发现,不是你一个人在战斗!
▲ 第四个建议:勤实战,越挫越勇
实践是检验一切真理的标准。古人云:“学以致用”,“师夷长技以制夷”。请不要急切期盼“实际的”例子,更不要看不起小实例,“不积跬步,无以至千里”。
大规模的成功商业案例所采用的算法,人工情感,无人驾驶,不是我们目前要解决的问题。
看清楚脚下的路,比仰望天空更实际,多做一些实战练习,更好地体会算法的本质,在错误中不断成长,越挫越勇,终究会成参天大树。
▲ 第五个建议:看电影,洞察未来
不管是讲《人工智能》,还是《算法分析》,我都会建议同学们去看一看科幻电影,如《人工智能》、《记忆裂痕》、《绝密飞行》、《未来战士》、《她》等等。奇妙的是,这些科幻的东西,正在一步步的实现,靠的是什么?
人工智能。计算机的终极是人工智能,人工智能的核心是算法。未来的战争是科技的战争,先进的科技需要人工智能。我们的国家还有很多技术落后,未来需要你。
“一心两本”学习法:
一颗好奇心,两个记录本。怀着一颗好奇心去学习,才能不断的解决问题,获得满足感,体会算法的美。
很多科学大牛的秘诀就是永远保持一颗好奇心;一个记录本用来记录学习重点难点,随时的突发奇想;一个记录本做日记或周记,记录一天或一周来学了什么,有什么经验教训,需要注意什么,计划下一天或下一周做什么。
不停的总结反思过去,计划未来,这样每天都有事做,心中满满的能量。一个人经常上课睡觉,因为他心中无事可做;一个人经常失眠,因为他心里事儿太多!
07
如何打开数据结构和算法这两扇门
推荐给大家的两本入门书 :
《趣学数据结构》和《趣学算法》。
《趣学数据结构》
作者: 陈小玉
广告
趣学数据结构
作者:陈小玉
京东
推荐这本书的三大理由:
▲ 完美图解 丰富实例,复杂问题简单化
为基本操作配以图解,用数据结构解决生活中的实际问题,学习过程更加轻松有趣。
▲ 原理分析 实战演练,真正地学以致用
通俗化讲解基础知识,在实战中体会数据结构的设计和操作,锻炼独立思考的能力。
▲ 配套代码 在线答疑,为学习保驾护航
提供书中的范例程序源代码、练习题以及答案解析,并在博客和 QQ 群中答疑解惑。
▲ 内容简介
本书基于 C 语言编写,从趣味故事引入算法复杂性计算及数据结构基础内容,涵盖线性结构、树形结构和图形结构,包括链表、栈和队列、树和图的应用等。本书内容还涉及数据结构的基本应用(包括各种查找、排序等)和高级应用(包括优先队列、并查集、B-树、B 树和红黑树等)。
通过大量图解将抽象数据模型简单通俗化,语言表述浅显易懂,并结合有趣的实例帮助读者轻松掌握数据结构。
▲ 适读人群
本书可作为程序员的学习用书,也适合没有太多编程经验但又对数据结构有强烈兴趣的初学者使用,同时也可作为高等院校计算机、数学及相关专业的师生用书,或学科竞赛的辅导用书和培训学校的教材。
《趣学算法》
作者: 陈小玉
广告
趣学算法
作者:陈小玉
京东
选择这本书的六大理由:
▲ 实例丰富,通俗易懂。从有趣的故事引入算法,从简单到复杂,使读者从实例中体会算法设计思想。实例讲解通俗易懂,让读者获得最大程度的启发,锻炼分析问题和解决问题的能力。
▲ 完美图解,简单有趣。结合大量完美绘图,对算法进行分解剖析,使复杂难懂的问题变得简单有趣,给读者带来巨大的阅读乐趣,使读者在阅读中不知不觉地学到算法知识,体会算法的本质。
▲ 深入浅出,透析本质。采用伪代码描述算法,既简洁易懂,又能抓住本质,算法思想描述及注释使代码更加通俗易懂。对算法设计初衷和算法复杂性的分析全面细致,既有逐步得出结论的推导过程,又有直观的绘图展示。
▲ 实战演练,循序渐进。每一个算法讲解清楚后,进行实战演练,使读者在实战中体会算法,增强自信,从而提高读者独立思考和动手实践的能力。丰富的练习题和思考题用于及时检验读者对所学知识掌的握情况,为读者从小问题出发到逐步解决大型复杂性问题奠定了基础。
▲ 算法解析,优化拓展。每一个实例都进行了详细的算法解析,分析算法的时间复杂度和空间复杂度,并对其优化拓展进一步讨论,提出了改进算法,并进行伪码讲解和实战演练,最后分析优化算法的复杂度进行对比。使读者在学习算法的基础上更上一个阶梯,对算法优化有更清晰的认识。
▲ 网络资源,技术支持。网络提供本书所有范例程序的源代码、练习题以及答案解析,这些源代码可以自由修改编译,以符合读者的需要。本书提供源代码执行、调试说明书,对读者存在的问题提供技术支持。
你眼中算法的“难”,
很有可能是你没找到正确的方法!
在陈小玉老师的学习秘籍下,
算法so easy!
认真阅读《趣学算法》,
相信你能够笑傲面试场!
,