【发布时间】:2013-06-05 17:43:59
【问题描述】:
pp :: [a] -> [a]
pp list = case list of
[] -> []
(x: _) -> x : (qq list)
qq :: [a] -> [a]
qq list = case list of
[] -> []
(x: xs) -> (pp xs) ++ [x]
函数 pp 对于有限列表是否终止?如果是这样:如果 pp 是用 n 个元素的列表调用的,那么函数 pp 和 qq 总共调用一次的频率是多少?如果 pp 对于有限列表不终止,那为什么不终止。
我认为函数 pp 将终止,如果使用 n 个元素的列表调用 pp,则 pp 和 q 将总共调用 2n 个。
【问题讨论】:
-
闻起来像作业……你自己试过解决吗?
-
拿起笔和纸,用列表
[1, 2, 3, 4, 5]完成它,然后你可以告诉我们它是否终止以及对复杂性的合理猜测