Kan*_*ami 2 algorithm pseudocode
我有一些困惑:
for i = 1 to n
Run Code Online (Sandbox Code Playgroud)
这个伪代码的意思是for(i=1; i<n; i++)或for(i=1; i<=n; i++)?
如果其中一个来自其中,那么另一个的伪代码是什么?
应该理解为包括一个迭代,其中i取 的值n。
然而,伪代码没有严格的规则,因此,如果对伪代码的实际片段存在疑问,那么这意味着代码没有实现它应该做的事情:在没有任何编程语言的情况下明确地描述算法心里。
以下是为什么应将其理解为包括的 一些论点n:
to在for循环语法中使用关键字,其中后面的值to不包含在迭代中。另一方面,类似BASIC 的语言(例如vba)具有该语法,并且“to”值将用于最终迭代。to使用关键字的情况下,最终迭代将使用该值。n元素数组中的每个值(这是一种非常常见的情况),那么就没有歧义:for i = 1 to n告诉我们数组的第一个元素的位置为 1,因此它的最后一个位置是位置n。在伪代码中使用这种基于 1 的数组索引并不罕见,因为这对于非程序员来说更直观。然而,如果在这样的数组上下文中您看到for i = 0 to n伪代码,则应该发出一些警报。这肯定会让人感到模棱两可。