如何将数学描述的算法转换为编程语言?

时间:2014-03-24 20:55:33

标签: algorithm

给出一种算法,在您选择的论文中描述了一堆符号和一种非常特殊的符号。 我如何学习阅读这些算法描述并将其转换为计算机程序?

下图描述了计算增量局部异常因子的算法:

incremental LOF

将其转换为编程语言的最佳方法是什么?

您的回答也可以通过指向描述所使用符号的文章,一般符号以及如何阅读和理解此类论文的教程来帮助我。

3 个答案:

答案 0 :(得分:1)

您似乎在询问通常被描述为一阶谓词演算课程的一部分。可以在here或您的图书馆中找到一般介绍(包括符号)。

通常,enter image description here之类的表示法意味着“适用于集合enter image description here ...”中的所有enter image description here,并且通常使用for以编程语言实现循环或类似的循环结构,取决于特定的语言。

关于算法的入门书籍也可能有助于回答您的问题。如果您的目标计算机语言是C,那么Sedgewick的书 Algorithms in C 就是一个例子。

答案 1 :(得分:0)

我认为这个问题只能从广义上回答。算法论文中的伪代码符号不遵循一致的标准,有时对于所讨论的算法没有伪代码符号。一般的建议是尽可能多地研究所涉及的问题并稍微进入数学。

答案 2 :(得分:0)

我有written a translator能够将一些简单的数学公式转换成各种编程语言。这是数学符号中的输入:

distance_formula(x1,y1,x2,y2) = sqrt((x1-x2)^2+(y1-y2)^2)

这是Python中的输出:

def distance_formula(x1,y1,x2,y2):
    return math.sqrt(((x1-x2)**2)+((y1-y2)**2))

同样,有几个pseudocode translators旨在将算法描述转换为等效程序。