数据结构和算法是计算机处理信息的基础。
抛开所有的东西都不看的话,计算机做的事情就是存储,然后计算。数据结构解决存储的问题,一些算法解决计算的问题,所以程序员必须要了解必须使用数据结构和算法。
对工作的影响
程序员的本质工作还是使用软件来解决问题。我们经常要面对各种复杂的问题。而一个好的数据结构,会极大地简化解决问题的步骤。不管你最终设计的数据结构是什么样,都离不开《数据结构与算法》里的内容。
对与算法:
当你被一个问题难倒时,重新回归算法,总能给你一些启发。算法的内容是解决问题思路的抽象总结,合适的组合后,总会帮你找到解决问题的方式。
当你有多个解题思路,而不知道用哪个的时候。回归算法分析,总会帮你确定一个合适的方法。
很多程序员觉得这块没用,实际工作中很少用到。其实不然:我们每天都在和它打交道。会觉得没用,主要是因为:
并没有真正的理解
平时开发的内容简单
对生活的影响
算法的思想也可以应用在日常生活中。我目前的主要应用有:
1.任务安排:使用队列,在充分考虑各因素和现状后,排出一个优先级。
2.解决生活问题:对于日常的生活问题,输入主要是时间和精力,输出一般就是收益。收益可以是资金、也可以是一些让你或家庭变得更好的隐性东西。现状经常不会让你有可以选择最好的方案。这时你可以考虑使用贪婪算法,基于现状,给出最优解。比如:在考虑育儿时方案,如果你完全按那些育儿专家说的内容来开展,保证你会崩掉。
3.在做事情决策时,如果有多个方案:可以考虑使用算法分析的思路,来决定哪个方案最佳。即:最省时间,资金和精力。