算法和伪代码之间的核心区别是什么?

时间:2017-09-23 10:17:12

标签: algorithm pseudocode

正如问题所描述的那样"算法和伪代码之间的核心区别是什么?"。

5 个答案:

答案 0 :(得分:3)

<强>算法

算法是用于根据要执行的动作和执行这些动作的顺序来解决问题的过程。算法仅仅是解决问题所采取的步骤序列。这些步骤通常是“序列”,“选择”,“迭代”和案例类型陈述。

<强>伪代码

Pseudocode是一种人工和非正式的语言,可以帮助程序员开发算法。伪代码是一种“基于文本”的细节(算法)设计工具。

伪代码的规则相当简单。显示“依赖性”的所有语句都应缩进。这些包括while,do,for,if,switch。以下示例将说明这一概念。

答案 1 :(得分:2)

我认为所有其他答案都提供了有用的解释和定义,但我会给出我的答案。

算法是如何从某些输入中获取某些结果的想法。这是一个抽象的概念;算法本身并不是物质的东西,而是更像是想象力或演绎的东西,只存在于心灵中的东西。从广义上讲,任何能够从其他东西中提供某些东西的步骤序列都可以称为算法。例如,如果您的计算机屏幕很脏,请在上面喷一些玻璃清洁剂并用布擦拭&#34;可以说是一种解决如何从脏屏幕获得干净屏幕的问题的算法。重要的是要注意问题本身(获得一个干净的屏幕)和算法(用布和清洁剂擦拭它)之间的区别;通常,几种不同的算法可以解决同样的问题。复杂性的概念是算法本身固有的,而不是问题或算法的特定实现或执行。

Pseudocode是一种表达算法的语言。因为,如前所述,算法只是概念,我们需要使用某些东西来表达它们并向其他人解释它们。伪代码是许多计算机科学算法的便捷方式,因为它通常是明确的,易于阅读并且与许多编程语言有些类似。但是,像C或Java这样的特定编程语言也可用于表达和算法(对于那些不熟悉该语言的人来说,它不太方便)。在其他情况下,伪代码可能不是表达算法的最佳方式;例如,可以使用附图或图表更容易地解释许多图形和树算法。在前面的示例中,用于清理屏幕的算法可能更好地用英语等自然语言表达,因为它对于这种情况来说足够简单和具体。

显然,术语经常被松散地使用并根据具体情况进行交换,并且不需要对它进行挑剔,但我认为区分这些差异很重要。算法并不仅仅因为它是用Python而不是伪代码编写而停止算法。伪代码只是表达它们的一种方便且广泛的通信工具。

答案 2 :(得分:1)

算法是您可以的事情(一系列步骤)。伪代码是描述算法的表示法。

答案 3 :(得分:0)

算法是用数学术语表示的东西。它包括,分析,复杂性考虑(最佳,平均和最坏情况分析等)。伪代码是程序的人类可读表示。

答案 4 :(得分:0)

来自here

  

从初始状态和初始输入(可能为空)开始,指令描述了一种计算,该计算在执行时通过有限数量的明确定义的连续状态,最终产生“输出”并终止于最终结束状态。

使用伪语言,可以在不使用 C 等编程语言的情况下实现算法。

伪语言的一个例子是Wikipedia