我有一个递归:
list_to_set([],[]).
list_to_set([A|X],[A|Y]):-
list_to_set(X,Y),
\+member(A,Y).
list_to_set([A|X],Y):-
list_to_set(X,Y),
member(A,Y).
它将元素列表转换为集合。例如 [1,1,2,3] -> [1,2,3]。当我输入查询list_to_set([1,1,2,3],X).
时,结果是X = (1,2,3)
,找出集合的复杂性是O(n)
. 现在我可以输入;
替代以确保没有其他可能的答案。显然没有,脚本会返回false
。我的问题是:第二个脚本运行的计算复杂度是多少,为什么?