algorithm - 带有for循环的伪代码

标签 algorithm pseudocode

我有一些困惑:

for i = 1 to n

这个伪代码是不是表示for(i=1; i<n; i++)for(i=1; i<=n; i++)

如果他们中的一个,那么另一个的伪代码是什么?

最佳答案

应该理解为包括一个迭代,其中in 的值。

然而,对于伪代码并没有严格的规定,所以如果对一段实际的伪代码有疑问,那么这意味着代码没有实现它应该做的事情:明确地描述一个算法而不任何编程语言。

以下是为什么应该将其理解为 include n 的一些论点:

  • 当用简单的英语告诉某人从 1“数到 100”时,我们的意思是他们应该在末尾加上 100。这可能是最有力的论据。
  • 据我所知,没有一种编程语言在 for 循环语法中使用 to 关键字,其中 to 后面的值不是 to被包含在迭代中。另一方面,BASIC像语言(例如 )具有该语法,并且“to”值将用于最终迭代。
  • 关于 Wikipedia给出了伪代码循环的一些示例,在使用 to 关键字的地方,最终迭代使用该值。
  • 如果此循环的目的是访问 n 元素数组中的每个值(一种非常常见的情况),则没有歧义:for i = 1 to n 告诉我们数组的第一个元素的位置为 1,因此它的最后一个位置是位置 n。在伪代码中使用这种从 1 开始的数组索引并不少见,因为这对非程序员来说更直观。但是,如果在这样的数组上下文中,您在伪代码中看到 for i = 0 to n,则应该会发出一些警报。这肯定会让人觉得模棱两可。

关于algorithm - 带有for循环的伪代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67949819/

相关文章:

algorithm - 大欧米茄分析

使用 std::accumulate 创建最小公倍数类的 c++ 错误

algorithm - 是否可以对图形进行着色,使相邻的顶点颜色不同,而不相邻的顶点颜色相同?

algorithm - 描述我的算法

algorithm - 比较计数算法的伪代码

arrays - 用于堆化数组的堆中的 siftUp 和 siftDown 操作

algorithm - 是否有最佳算法来查找行的子集,其总和位于指定的间隔内?

algorithm - 尝试理解 Min-Max Heap 的 delete-min

machine-learning - 这是跳棋 Q-Learning 的正确实现吗?

algorithm - 写出代码仍然被认为是一种算法表示吗?