Algorithm “a”是什么;“天真”;算法,什么是“a”;封闭式;解决方案

Algorithm “a”是什么;“天真”;算法,什么是“a”;封闭式;解决方案,algorithm,code-analysis,Algorithm,Code Analysis,关于描述算法时使用的术语的语义,我有几个问题 首先,什么是“天真”算法?这与针对给定问题的其他解决方案有何不同?还有什么其他形式的解决方案 第二,我听到很多人提到有一个“封闭形式”的解决方案。我也不知道这意味着什么——但通常在试图解决递归关系时出现 感谢您的时间封闭形式意味着您可以给出一个表达式作为解决方案,它可以不重复/递归地解决它。在这里,我们应该指出,并不总是可能找到这样一个封闭的形式 天真就是它所说的:第一个愚蠢的问题解决方案,它解决了问题,但可能不是很节省时间/空间。人们真正认为什么“

关于描述算法时使用的术语的语义,我有几个问题

首先,什么是“天真”算法?这与针对给定问题的其他解决方案有何不同?还有什么其他形式的解决方案

第二,我听到很多人提到有一个“封闭形式”的解决方案。我也不知道这意味着什么——但通常在试图解决递归关系时出现


感谢您的时间

封闭形式意味着您可以给出一个表达式作为解决方案,它可以不重复/递归地解决它。在这里,我们应该指出,并不总是可能找到这样一个封闭的形式


天真就是它所说的:第一个愚蠢的问题解决方案,它解决了问题,但可能不是很节省时间/空间。人们真正认为什么“幼稚”取决于说话人、上下文和第二天的天气。通常,它用于区分非常复杂的解决方案(使用某种技巧)和明显的实现。

Naive算法是一种非常简单的算法,具有非常简单的规则。有时候,第一个想到的就是。它可能很愚蠢,速度也很慢,甚至可能无法解决问题。有时这可能是最好的。下面是一个问题和“幼稚”算法的示例:

问题:你处在一个(二维)迷宫中。找到你的出路。(意思是:到有“出口”标志的地点:)

天真算法1:开始步行,在你遇到的每个十字路口选择正确的一个(直到你找到“出口”)

天真算法2:开始步行,在你遇到的每个十字路口随机选择一个(直到你找到“出口”)

算法1甚至不能让你走出迷宫


算法2会让你走出所有的迷宫(尽管这很难证明)。

当一个人被问到一个问题时,一个简单的算法通常是最明显的解决方案。这可能不是一个聪明的算法,但可能会完成任务(…最终)

试图在排序数组中搜索元素。 一个简单的算法是使用一个。 一个不那么简单的解决方案是使用二进制搜索

一个更好的例子是,子串搜索的效率远远低于
Boyer–Moore
Knuth–Morris–Pratt
算法

闭式解决方案是一种简单的解决方案,无需任何循环、函数等即可立即工作

例如: 1到n整数和的迭代算法

s= 0
for i in 1 to n
s = s + i
end for
print s
封闭形式(针对同一问题)


沿着右边的墙走,你总能走出迷宫。@potrzebie,不是所有的迷宫@potrzebie墙跟随策略仅适用于简单连接的迷宫。
s = n * (n + 1 ) /2