我想找到以下算法的时间复杂度
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)?
给定一组通过谓词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) 我在这样的类中有一个结构
template <class T>
class a {
struct b {
int var;
b *foo(const T&);
};
int var;
};
Run Code Online (Sandbox Code Playgroud)
我想在foo外面定义struct b.
我怎么做?
我希望能够解析字符串"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 => …
algorithm ×1
c++ ×1
class ×1
lambda ×1
loops ×1
math ×1
nested-class ×1
parent-child ×1
prolog ×1
reflection ×1
scala ×1
templates ×1