算法
算法的正式定义:
算法是定义一个可终止过程的一组无歧义的、可执行的步骤的有序集合。
有步骤有顺序是关键。
不过这也并不意味着必须从第1步到第2步,有些算法,称为并行算法:
包含的步骤序列不只一个,每一个序列都被设计成由多处理器机器中的不同处理器执行,这是一种多执行流结构,这些执行流在整个任务的不同部分被不同的处理器执行时不断分支和再接合。
关于“可执行的”,计算机科学家使用有效的(effective)这个术语来表示可执行的概念。
关于“无歧义的”,意味着在算法的执行过程中,正在被处理的信息必须足以唯一地、完整地确定每一步所需要的动作。也意味着算法的执行不需要创造性的技能,只要求遵照指令执行。
如果用来描述算法表示的语言并没有被准确定义或者并没有给予足够详细的信息的时候,就会产生交流问题。
计算机科学解决这些问题的途径就是建立一组定义明确的构造块,利用它们来构造算法的表示。这种构造块称作原语(primitive)。