ruby - Ruby 组合函数的顺序复杂度

标签 ruby algorithm big-o complexity-theory

在我的一个算法中,我使用了 Ruby 的 combinationpermutation方法。我必须讨论这个算法的复杂性。我在哪里可以找到有关它们的复杂性/实现的信息?

我已经尝试实现一个简单的“手工制作”函数,但 Ruby 函数似乎几乎在恒定时间内运行!

如能提供有关查找位置的任何信息,我们将不胜感激。

最佳答案

实现可以显示在您链接的相同页面上。将鼠标悬停在组合/排列方法的名称上,然后选择 click to toggle source

您可以在主仓库查看最新和不同版本的源代码:http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/

您可以阅读 array.c 的修订历史,了解为什么/何时对组合/排列方法进行任何更改。 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/array.c?view=log .这可能会让您了解开发人员所做的复杂性和设计选择。

您甚至可以向源代码的某些贡献者询问他们为什么对方法进行 XYZ 更改的原因,他们可能会/可能不会提供帮助。

关于ruby - Ruby 组合函数的顺序复杂度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23469225/

相关文章:

ruby - 如何执行 Dir.glob 但排除目录?

mysql - 在 Ubuntu 服务器上将 Ruby 从 1.9.2 升级到 1.9.3

algorithm - 有什么聪明的方法可以输出 n 个项目的列表,中间有 (n-1) 个分隔符?

algorithm - 最大 K 个子数组和

Ruby 相当于 Ipython %timeit

ruby - 无法安装 gem Mechanize

algorithm - 负权重边

c++ - 如何计算函数的搜索复杂度

c++ - 堆放容器时的大O

java - 大 O for 2D for 循环