标签: java time-complexity skip-lists
根据我的理解,ConcurrentSkipListSet的平均复杂度为O(log n),用于插入,搜索和删除元素以及O(n)的最坏情况。访问第一个和最后一个元素怎么样?它是否低于日志?我看到它保留了指向头部的指针。因此,我猜第一个元素是O(1)。
ConcurrentSkipListSet
答案 0 :(得分:2)
是的,你是正确的。 => O(log n)
O(log n)
然而,当访问最后一个时,你不知道它是哪一个,因为它毕竟是一个链表。现在因为它是一个跳过列表,你得到{{1}}而不是在线性时间内处理所有元素。在这里你可以找到一个零下一个指针,但由于你不知道要检查哪一个指针仍然在{{1}}。
实际测量时间与渐近近似值之间存在差异!
以下是对它的可能描述:
我希望这会有所帮助。