【数据结构与算法】小白的算法学习之路
1 关于数据结构与算法
1.1 个人感悟
作为非计算机专业,LZ一直未系统地学习过数据结构与算法,只是在认识中知道这俩都是很厉害的东西,平时编程以解决问题为主,不会了就百度、Google,一旦侥幸解决就开心不已,觉得自己受到了鼓励,殊不知,那些都是在浮沙上筑高台,危险的很。
这种状态直到前段时间才有改变。帮师弟解决了一个文件中字符串排序的问题,使用了一直早有耳闻的multimap
,将一个本来需要将近1h
才能出结果的程序优化成1s
不到出结果,着实在精神上感到了振奋,也认识到了数据结构和算法的巨大威力和无穷魅力!
让我发自内心感受到身为程序员,无法驾驭数据结构和算法就像鸟儿无法驾驭自己的翅膀。
1.2 学习路线
1.3 业内大佬的看法
MIT 教授 Erik Demaine:
If you want to become a good programmer, you can spend 10 years
programming, or spend 2 years programming and learning algorithms.
总而言之,如果你想成为一个码农或是熟练工(Code Monkey),你大可以不学算法,因为算法对你确实没有用;但如果你想成为一个优秀的开发者(Developer),扎实的算法必不可少,因为你会不断的掉进一些只能借助算法才能爬出去的坑里。
2 关于《剑指Offer》
1.1 择书原因
LZ去年9月份找工作,一直听人说要刷剑指Offer,可是由于种种原因没有实现,现在稍微有时间了,花了两周把之前想做未做的事情做了。
既然大家都推崇这本书,说明这里面的题目常考;既然这里面的题目常考,说明这里面的题目比其他题目有更大概率会出现在现实场景中。这也是我选择这本书的原因。
1.2 刷题笔记
学习和做题过程中进行了一些个人总结和记录,很多都在注释里:
第一章和第二章链接:https://blog.csdn.net/qionggaobi9328/article/details/106055433
第三章链接:https://blog.csdn.net/qionggaobi9328/article/details/106112271
第四章链接:https://blog.csdn.net/qionggaobi9328/article/details/106158256
第五章链接:https://blog.csdn.net/qionggaobi9328/article/details/106200256
第六章链接:https://blog.csdn.net/qionggaobi9328/article/details/106273743
第七章链接:https://blog.csdn.net/qionggaobi9328/article/details/106315713