我想这是许多人的疑问,是啊,为什么数据结构与算法很重要呢?
实际上之所以有很多问题我们不明白不理解,是因为我们所处的角度的问题,在这里如果你站在老板的角度上思考问题一切就简单了。
升职加薪
老板开公司的目的是为了什么?钱啊,数据结构与算法有什么用呢,能为老板省钱啊,能为老板省钱的技术你说重要不重要。同样一个程序,你的运行起来需要10台服务器,另一个人的只需要2台,如果你是老板的话该为谁升职加薪呢?
数据结构与算法就是这样一种能为老板多赚钱(能省钱也就是多赚钱)的技术。
那站在程序员的角度呢?
很多初学者甚至有工作经验的程序员避免学习数据结构与算法,一方面因为其固有的复杂性;另一方面他们觉得数据结构和算法在实际工作中根本就没什么用嘛,我们用一个最简单的游戏来开始本篇的讨论。
有一个猜数的游戏,玩家说出一个数字,主持人会告诉玩家这个数字是大了还是小了,看谁猜的次数最少,最好的办法是什么呢?很显然:
假设抛出的数字是100,主持人告诉你猜大了,那么接下来应该猜50;如果主持人告诉你猜小了,那么接下来应该是75;如果又猜大了,那么接下来应该是62,如果又小了,那么应该是56,Congratulations,恭喜你猜到了,实际上你在用二分查找的策略。
这个简单的示例应该能让你意识到现实生活中算法的重要性,如果你仅仅认为数据结构与算法只在面试时才有用那就大错特错了。
因此,简单总结一下数据结构与算法的重