如果作为一个程序员不知道什么是算法就会让人觉得你是一个“假的程序员”,但是也并不是所有的程序员都了解算法。
不同的人对算法有不同的理解,算法的本质就是解决问题的过程,目的就是用来解决问题的。
官方定义算法具有四大特征:
确定性:算法的每一步都是确定的,结果也是可以预期的;
有穷性:算法必须是在有限的步骤内可以执行完成了,可以是几个步骤,也可以是几万个步骤;
可行性:算法中的每一步都是可行的;
输入和输出:算法的过程中要有输入和输出,没有输入的算法是没有意义的,没有输出的算法是没有用的。
有人说计算机很聪明,也可能是美国大片看多了,认为计算机可以无所不能,可以做出漂亮的图片,放出好听的音乐;但是不要忘了,这些都是认为设计好的,是人让计算机做出他们想要的结果,从这个方面来说计算机有时“愚蠢”的。
计算机都是在干着人类让他干着的事情。人类编写各种各样的算法,来让计算机去做各种各样的事情。