riw*_*alk 27

没有.

函数是计算机程序中的代码块.

算法是描述如何解决问题的抽象概念.

  • @runeks,考虑到这是一个编程相关问题的网站这一事实,我认为这个事实非常无关紧要. (4认同)
  • 我认为函数是一个数学概念,并不一定与计算机程序有关,尽管我们在计算机编程中也使用了一些称为函数的东西.据我所知,数学函数 - 作为一个概念 - 早在具有函数的计算机编程之前就被引入. (3认同)
  • 不幸的是,没有正式和精确的算法定义。根据Church-Turing的论文,有一个公认的非正式定义。甚至CLRS都从说“非正式的算法是...”开始。即使这个答案也说明了“抽象概念”,这是非常模棱两可的。 (2认同)

Mer*_*ham 15

在数学中,函数是"一种数学关系,使得给定集合的每个元素(函数的域)与另一集合的元素(函数的范围)相关联"(来源 - google.com,定义:功能).

在计算机科学中,函数是一段代码,可选择地接受参数,可选地给出结果,并且可选地具有副作用(取决于语言 - 一些语言禁止副作用).它必须具有特定的机器实现才能执行.

计算机科学术语来自数学术语,是数学概念的机器实现.

算法是"精确的规则(或规则集),指定如何解决某些问题"(来源 - google.com,定义:算法).算法可以在计算机科学之外定义,并且没有确定的机器实现.您可以通过手工编写来"实现"它:)

这里的关键区别在于,在计算机科学中,算法是抽象的,并且没有明确的机器实现.功能是具体的,并且具有机器实现.


Zac*_*ach 6

算法是一组指令.

在计算机编程中,函数是算法的实现.