比较来自世界各地的卖家的域名和 IT 服务价格

预计的工作时间抵御最糟糕的工作时间

我研究了一个随机的快速排序算法。 我意识到该算法的操作时间始终呈现为 "expected running time".

指示或使用的原因是什么 "预期执行时间"? 为什么我们不计算最坏或中型的情况?
已邀请:

涵秋

赞同来自:

有时预期执行时间是指随机选择的输入信号的平均执行时间。 但是,如果它是一个随机算法,那么它通常在与之相关的预期执行时间中被称为 random 每个输入信号的算法制成的选举。 这就是这里的意思。 为了

每一个

输入 n 随机元素快速分拣是平均的 O /n /log n//, 平均仅由其政变硬币。

在该有限意义上,预期执行时间是随机算法的执行时间的非常合理的度量。 如果您担心最坏的情况,则当算法在本身内将硬币打开时会发生什么,然后为什么要转动硬币? 有了同样的成功,你可以简单地让他们所有的头。 /在随机的快速排序的情况下,它会将其减少到普通的快速排序。/

在达到最坏情况的平均案例中是一个更严重的问题,当涉及到入口的平均值,而不是硬币折腾的平均值。 在这种情况下,最多的平均执行时间是不适应输入数据类型的变化的数字 - 用于使用该算法的各种选项可以具有不同的输入数据分布。 我最初说话,因为您可能不知道输入数据的假设分布始终是真实的。

观看最糟糕的情况对于硬币的转换是有道理的,只有当你的硬币下降不成功时,只有当你们两个都想快速运行时,即使你的锥体不成功,也不会太慢运行。 例如,想象一下,您需要一种用于对氧气供应调节器进行分类的算法 /对于医疗病人或水肺/. 然后,只有在既希望结果是非常快的,因为为方便用户,才会有意义,只有在规则中, AND 如果最坏的情况不会扼杀用户,无论如何。 这是一个针对排序算法的狭义情景,因为存在排序算法 random /例如,排序合并/, 哪些并不慢 quicksort 甚至平均。 作为对随机算法工作的原始性的测试,这项任务较低的目标

远的

比没有随机化的速度更快。 然后,您可能希望使用随机算法运行它 - 同时运行非随机算法作为备份。

/好吧,你可以想知道为什么氧气调节器想知道某些数字是否简单。 可能有可能联系医疗计算机网络,通信应该为医疗隐私的原因安全....../

三叔

赞同来自:

当我们说话的时候 "预期执行时间", 我们正在谈论平均案例的运行时间。 我们可以谈论渐近的上层或下边界 /或者/. 同样,我们可以谈论最佳或最糟糕的情况的时间的渐近上下边界。 换句话说,边界是正交的。

在随机快速分拣的情况下,人们谈到预期的执行时间 /O /n log n//, 由于它使算法比最差算法更好 O/n^2/ /发生了什么,虽然在最坏的情况下没有渐关节/. 换句话说,随机的快速分类比例如,泡沫分类几乎用于所有输入数据,人们希望这一事实清晰; 因此,人们强调随机快速排序的平均运作,而不是它也是渐近的厌恶,如最坏的情况下的泡沫分类。

如评论中所示和格雷格的出色响应所示,通常也可以谈谈与序列集相对的预期执行时间。 random 在固定任意输入处执行算法期间的选项。 当我们认为输入数据被活动算法被动地处理时,它可能更自然。 事实上,它相当于谈论平均值 random 输入和算法,其执行不会考虑结构差异。 这些配方中的两者都比输入对的真正平均值更容易想象 random 选项,但无论您如何实现如何,您都会得到相同的答案。

三叔

赞同来自:

如果不仅确定其行为不仅输入数据,则该算法随机化,而是由数字生成器获得的值 random.
这就是为什么你分析预期的内容。

最糟糕的情况分析仅在入口处。

要回复问题请先登录注册