当我从教科书中学习算法时,通常伪代码中的算法尽可能通用。将伪代码转换为尽可能相似的实现
一个例子是,为了简化检查或边界情况或何时停止循环,正在使用occusionally -/+ infinity(作为课程的简化)。
例如:
current-sum=
total-sum=0
for i=x downto low
total-sum=total-sum+A[i]
if(total-sum > current-sum) //so that in first iteration we will enter the if statement
etc
确定,负无穷大可以预计不会在我们的域值实现的编程语言算法时被替换问题。
我在想,如果在具体的编程语言(例如Java)中实现算法时,是否存在更一般的方式/技巧来表示此操作,则需要执行以下操作:
current-sum = -1;
或
current-sum = -10000;
其中例如这些值可以在以后居然变得域值有效。
我不明白伪代码在做什么或为什么。这使翻译很难。 –
伪代码是计算最大子阵列问题算法的一部分。在这部分中,它计算数组中的总和并使用-infinity作为起点。如果您认为有意义,我可以发布更多的伪代码 – Cratylus