gpt4 book ai didi

lisp - scheme中 'assoc'函数的时间复杂度是多少?

转载 作者:太空宇宙 更新时间:2023-11-03 18:42:22 25 4
gpt4 key购买 nike

这个漂亮的函数“assoc”的时间复杂度是多少?

最佳答案

我会假设 assoc 是 O(n)*,假设 equal? 在您对该函数的使用中是 O(1)。这是因为编写您自己的 assoc 版本很简单:

(define (my-assoc v lst)
(cond ((null? lst) #f)
((equal? v (caar lst)) (car lst))
(else (my-assoc v (cdr lst)))))

您可以看到这只是在列表 lst 中向下滑动,直到找到匹配项。如果未找到,则返回 #f

* 技术上 equal? 是 O(n),其中 n 是较小输入的大小,因此如果您使用 assoc 比较巨大的列表结构,您的运行时将是 O(n*m),其中 n 是提供给 assoc 的列表的大小,mv 的大小

关于lisp - scheme中 'assoc'函数的时间复杂度是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1035320/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com