在纯粹功能最差的情况下,恒定时间可连接排序列表中,Brodal等人。当前具有O(1)串联和O(lg n)插入,删除和查找的纯功能平衡树。数据结构有些复杂。
是否有O(1)串联,功能较简单的平衡搜索树?
在纯粹功能最差的情况下,恒定时间可连接排序列表中,Brodal等人。当前具有O(1)串联和O(lg n)插入,删除和查找的纯功能平衡树。数据结构有些复杂。
是否有O(1)串联,功能较简单的平衡搜索树?
Answers:
您可以通过在连接时将一棵树上的所有内容重新插入到另一棵树上(它具有O(n log n)的开销,与在树中构造该树所使用的完全相同)来重新构建具有O(1)摊销连接时间的数据结构。首先,所以总时间仍然是O(n log n)),但这是作弊。
对于最坏的O(1)时间,作者声称这对任何数据结构都是一个开放问题,因此我认为您不会找到一个简单的答案。
我下载了您提到的论文,并且至少在该论文发表时回答为“否”。这有两个原因:
需要一篇论文来适当地审查相关的工作,并且在引言中也要这样做,在图1的摘要中表示“否”。至少,如果它已经在一个著名的会议上发表过,但是看起来是这样(Brodal在C. Okasaki的“ Purely Functional Data Structures”中被多次引用,这是该主题的参考)。
但是,他们在文中提到了一种搜索时间为O(log n log log n)且连接时间为O(1)的算法,该算法在STOC '96的K&T论文中进行了概述。这可能对您很有趣。
要点1.还确保您可以简单地寻找引用该论文的文献来查找以后的结果,他们将需要引用它。
如果这个问题与实际相关(但不应该如此),我认为常量因子比O(1)和O(log N)之间的差异更重要(如Sedgewick的算法介绍中所述),您只需要寻找应用程序用例的基准即可。