小编Da *_*ike的帖子

这个算法的时间复杂度是Θ(n)吗?

我想找到以下算法的时间复杂度

for i=1 to n do
    j=i
    while j<n do
        j=2*j
Run Code Online (Sandbox Code Playgroud)

我做了我的计算,我发现了T(n) = log(n^n/n!).

但应该是正确的答案T(n) = ?(n).

我错了吗?或许log(n^n/n!) = ?(n)?

algorithm math loops time-complexity

6
推荐指数
1
解决办法
157
查看次数

Prolog - 祖谓词实现的 2 种方法

给定一组通过谓词Parent/2表示父子关系的事实,使用谓词pred1/2和pred2/2定义关系“祖先”(祖先)时有什么区别,如下所示?

pred1(X,Z) :- parent(X,Z).
pred1(X,Z) :- parent(X,Y), pred1(Y,Z).

pred2(X,Z) :- parent(X,Z).
pred2(X,Z) :- parent(Y,Z), pred2(X,Y).
Run Code Online (Sandbox Code Playgroud)

prolog parent-child transitive-closure failure-slice

3
推荐指数
1
解决办法
371
查看次数

嵌套类的成员函数返回嵌套类的类型

我在这样的类中有一个结构

template <class T>
class a {
    struct b {
        int var;
        b *foo(const T&);
    };
    int var;
};
Run Code Online (Sandbox Code Playgroud)

我想在foo外面定义struct b.

我怎么做?

c++ templates class nested-class

1
推荐指数
1
解决办法
77
查看次数

Scala:将字符串转换为 lambda

我希望能够解析字符串"x => x + 1",并能够实际将其用作 lambda 函数,如下所示:

    val string = "x => x + 1"
    val lambda = parseLambda(string)
    val numbers = List(1, 2, 3)
    val result = numbers.map(lambda) // Should be [2, 3, 4]
Run Code Online (Sandbox Code Playgroud)

我对该函数有以下实现parseLambda:

  def parseLambda(string: String): Any => Any = {
      val toolbox = runtimeMirror(getClass.getClassLoader).mkToolBox()
      val tree = toolbox.parse(string)
      val lambdaFunction = toolbox.compile(tree)().asInstanceOf[Any => Any]
      lambdaFunction
  }
Run Code Online (Sandbox Code Playgroud)

它适用于像"(x: Int) => x * 2"or这样的字符串"(s: String) => s.split(" ")",但如果我省略类型,例如"x => …

reflection lambda scala

0
推荐指数
1
解决办法
107
查看次数