【发布时间】:2010-08-15 22:35:03
【问题描述】:
Skip lists (Pugh, 1990) 为排序字典提供对数时间操作,如搜索树,但skip lists are much more amenable to concurrent updates。
是否可以创建一个高效的纯功能并发跳过列表?如果没有,是否有可能创建任何一种高效的纯功能并发排序字典?
【问题讨论】:
-
我很困惑。在没有破坏性更新的情况下,并发将不是问题,不是吗?
-
@sepp2k:如果问题需要并发,那么纯函数式解决方案(或最接近的解决方案)可能是什么样的?
-
好问题!我和一个朋友最近玩弄了一个跳过列表的实现,并想知道同样的事情:因为单链表的功能和持久性都是微不足道的,并且可以将跳过列表视为由单链表网络构建而成( “向上”和“跨越”),你也可以简单地制作一个功能性和持久性的跳过列表吗?
-
我认为你需要更好地量化“效率”。纯函数排序的平衡二叉树相对简单,运算时间为 O(log n),但称结果为高效是否合理尚有争议。
标签: scala haskell f# clojure purely-functional