【发布时间】:2011-10-29 08:54:36
【问题描述】:
当我从教科书中学习算法时,通常伪代码中的算法尽可能通用。
一个例子是,为了简化检查或边界情况或何时停止循环,使用了偶尔的 -/+ 无穷大(当然是为了简化)。
例如:
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 作为起点。如果您认为这有意义,我可以发布更多的伪代码
标签: java algorithm loops computer-science