算法是什么

280 阅读2分钟

算法是解决问题的方法,比如一个菜谱,在做菜的时候根据菜谱就能做出来一盘丰富可口的菜肴,而在计算机中,算法像是在做菜的时候根据菜谱的每一个步骤说明,做菜的输入需要将原料准备好,一般情况下需要将菜洗好,将调味料准备好。而写程序的时候需要将函数的输入准备好,需要准备哪些调料等等。这里的菜肴相当于函数的输入,调料相当于在函数中的一些过程与定义好的内容。做菜的时候需要调味料放入足量,菜量和水分都是清晰的足够。在生活中虽然说不需要很严格的定量调味,但是在一些连锁酒店或者名声很好地饭店做菜的时候都有着严格的规定。正是因为有标准才不会像家里做菜一样有时候淡有时候咸味。 以上说明了做菜的时候需要清晰、有完整的步骤、有可预期的结果 在计算机中算法是这样定义的:一系列可以解决问题的清晰可执行的计算机指令 这些计算机指令必须具备:

  1. 有限性
  2. 确定性:不会产生二义性,注意是算法内部每一个指令不具有二义性
  3. 可行性

三个特性都在说明清晰性

  1. 具有输入
  2. 具有输出(可以为void)

算法与数据结构领域很多问题都是查找算法,记录一个简单的算法,适应更多的数据类型,编写正确的程序 这里要注意一点,算法并不等于函数,算法和函数要区分开,算法可能隐藏在语义当中(返回值为void),必须在数学上定义清楚

总结

算法是指:要解决一系列问题,清晰的,可执行的计算机指令 下面我们要讨论最简单的线性查找法