首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >伪码的标准?

伪码的标准?
EN

Stack Overflow用户
提问于 2010-02-20 09:58:13
回答 7查看 26K关注 0票数 32

我需要将一些python和java例程转换成伪代码作为我的硕士论文,但是很难想出一种语法/样式,即:

  • 一致的
  • 易懂
  • 不要太冗长
  • 不太接近自然语言
  • 不太接近某些具体的编程语言。

你怎么写伪代码?有什么标准建议吗?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2010-02-20 10:03:51

我建议阅读“算法入门”一书(由Cormen,Leiserson和Rivest撰写)。我一直认为它对算法的伪代码描述非常清晰和一致。

举个例子:

代码语言:javascript
复制
DIJKSTRA(G, w, s)
1  INITIALIZE-SINGLE-SOURCE(G, s)
2  S ← Ø
3  Q ← V[G]
4  while Q ≠ Ø
5      do u ← EXTRACT-MIN(Q)
6         S ← S ∪{u}
7         for each vertex v ∈ Adj[u]
8             do RELAX(u, v, w)
票数 20
EN

Stack Overflow用户

发布于 2010-02-25 14:08:06

在回答我自己的问题时,我只想提请大家注意TeX FAQ条目在LaTeX中排版伪码。它描述了许多不同的风格,列出了优点和缺点。顺便说一句,正如上面所建议的,有两个样式表用于以Cormen在"Introductin to Algorithms“中使用的方式编写伪代码:newalgclrscode。后者是科门自己写的。

票数 7
EN

Stack Overflow用户

发布于 2010-02-20 14:33:29

我建议你看看堡垒编程语言

这是一种实际的编程语言,而不是伪代码,但它的设计目的是尽可能接近可执行伪代码。特别是,为了设计语法,他们阅读并分析了数以百计的CS和数学论文、课程、书籍和期刊,以找到伪代码和其他计算/数学符号的通用用法模式。

您可以通过查看堡垒源代码并抽象出您不需要的东西来利用所有这些研究,因为您的目标受众是人,而堡垒是一个编译器。

下面是从NAS (NASA高级超级计算)共轭梯度并行基准运行堡垒代码的实际示例。为了获得有趣的体验,请将基准测试的规范与堡垒中的实现进行比较,并注意如何实现1:1的通信。还比较几种其他语言(如C或Fortran )中的实现,并注意它们与规范完全无关(而且通常也比规范长一个数量级)。

我必须强调:这不是伪代码,这是实际的工作堡垒代码!来自https://umbilicus.wordpress.com/2009/10/16/fortress-parallel-by-default/

注意,堡垒是用ASCII字符编写的;特殊字符是用格式化程序呈现的。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2301756

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档