Algorithm 如何将数学描述的算法翻译成编程语言?

Algorithm 如何将数学描述的算法翻译成编程语言?,algorithm,Algorithm,给出一个算法,在你选择的一篇论文中用一堆符号和一个非常特殊的符号来描述。 我如何学习阅读这些算法描述并将其转换成计算机程序 下图描述了计算增量局部异常值因子的算法: 将其转换为编程语言的最佳方法是什么? 你的回答还可以帮助我指出描述所用符号的文章、一般符号以及如何阅读和理解这些文章的教程。你似乎在问一阶谓词演算课程中通常描述的内容。一般介绍(包括符号)可以在您的库中找到 通常,类似于符号的意思是“对于集合中的所有对象…”,并且通常会在编程语言中使用for循环或类似的循环结构来实现,具体取决于特

给出一个算法,在你选择的一篇论文中用一堆符号和一个非常特殊的符号来描述。 我如何学习阅读这些算法描述并将其转换成计算机程序

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

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


你的回答还可以帮助我指出描述所用符号的文章、一般符号以及如何阅读和理解这些文章的教程。

你似乎在问一阶谓词演算课程中通常描述的内容。一般介绍(包括符号)可以在您的库中找到

通常,类似于符号的意思是“对于集合中的所有对象…”,并且通常会在编程语言中使用
for
循环或类似的循环结构来实现,具体取决于特定的语言


关于算法的介绍性书籍在回答您的问题时可能也很有用。例如,如果你的目标计算机语言是C,Sedgewick的书《C中的算法》。

我认为这个问题只能在非常广泛的意义上得到回答。算法论文中的伪码表示法没有遵循一致的标准,有时也没有针对相关算法的伪码表示法。一个普遍的建议是尽可能多地研究所涉及的问题,并稍微学习数学。

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

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))

类似地,也有一些算法被设计成将算法描述转换为等效程序。

翻译请求是针对人类语言到人类语言的翻译。更重要的是,这在很大程度上取决于什么语言。比如说,用C或Brainfck*来做这件事是不一样的。由于math.se不是关于编程的,我建议您做得更一般、更负责,或者将其移动到stackoverflow以获得编程建议∀ symbol,每个“计算这个和那个”的一些函数(或当前函数中的代码,取决于您希望它的模块化程度)和每个=symbol的一些赋值。