伪代码和算法有什么区别? 能给我举个例子?我试图在网上搜索,但我仍然对算法感到困惑。伪代码是用文字写的,我明白了。但我不理解算法。 alogrithm和代码之间有区别吗?
答案 0 :(得分:4)
算法只是一系列没有固定表示的步骤。它可以用高级描述,伪代码或任何语言的代码来描述。
更一般地说,任何用任何语言编写的程序,任何伪代码或任何具体的步骤序列都可以被认为是算法。
伪代码没有固定的格式 - 它看起来非常类似于任何语言或语言组合,或者它可以简单地是算法的自然语言描述。
例如,insertion sort是一种算法。
高级描述是:
保留一个从空开始的排序列表。对于原始列表中的每个元素,将其插入到已排序列表中的正确位置。返回已排序的列表。
伪代码表示(根据维基百科)是:
for i ← 1 to length(A)
x ← A[i]
j ← i
while j > 0 and A[j-1] > x
A[j] ← A[j-1]
j ← j - 1
A[j] ← x
然后你也可以用Java,C ++,C或任何其他语言编写它。
这些都是插入排序算法的表示。
* - 有一些插入排序的变体,这些都可以被认为是算法,并且在上面的高级描述中存在一些模糊性(这可能会导致不同的变体),但是让我们看看暂时忽略这些方面。