切实理解和掌握算法到底有什么用呢?
其实算法非常重要,甚至可以说是计算机编程的灵魂,一个程序的核心在于算法。举个栗子,我们打开一个软件或者运行一个软件的速度在计算机硬件性能相同情况下,软件的算法起到了几乎决定性的作用。所有的计算机软件和硬件的编程都是需要算法的。算法是计算机乃至自然界的核心,如果我们能知道人脑的算法,就可以制造出人工智能的软件。
再举个大家都懂的栗子,宝宝给你10个数字,要求按从小到大的顺序排序,无论什么算法,似乎都能得到正确答案,这里算法的选择好像是无所谓的样子啦。 但是如果给你1000万个数字让你排序,不同算法效率差距就明显的体现出来了,当你发现你的算法运行速度奇慢想砸电脑的时,你就会深刻的认识到不同的算法的优劣直接影响了计算机软件的性能。
通俗的来讲,算法就像武侠小说里的内功,刚入门的菜鸟修得些许,并不如划拉兵器(编程语言)练几招绚丽的招式(写代码)效果明显,似乎只能时不时显露出来装装X。
中等武者,习武多年,内外兼修,凭稳能克敌,内力深浅的体现是融于招数之间的。
宗师级别的高手拼的就是内力了。这时候对他们来说兵器和招式已不大重要,所以高级的工程师、教授科研人员大多平时并不怎么写代码了,他们研究的大多已经是算法、系统级别的优化了。