Loading docs/ds/skiplist.md +264 −265 Original line number Diff line number Diff line ## 跳表 跳表(Skip List)是由William Pugh发明的一种查找数据结构结构,支持对数据的快速查找,插入和删除。 跳表(Skip List)是由 William Pugh 发明的一种查找数据结构结构,支持对数据的快速查找,插入和删除。 跳表的期望空间复杂度为 $O(n)$ ,跳表的查询,插入和删除操作的期望复杂度都为 $O(\log n)$ 。 Loading Loading @@ -201,10 +201,11 @@ bool erase(const K &key) { SkipListNode() {} SkipListNode(K k, V v, int l, SkipListNode *nxt = NULL) { key = k; value = v; level = l; key = k; value = v; level = l; forward = new SkipListNode *[l + 1]; for (int i = 0; i <= l; ++i) forward[i] = nxt; for (int i = 0; i <= l; ++i) forward[i] = nxt; } ~SkipListNode() { Loading Loading @@ -322,9 +323,7 @@ bool erase(const K &key) { return tail->value; } bool count(const K &key) { return find(key) != tail->value; } bool count(const K &key) { return find(key) != tail->value; } }; int main() { Loading Loading
docs/ds/skiplist.md +264 −265 Original line number Diff line number Diff line ## 跳表 跳表(Skip List)是由William Pugh发明的一种查找数据结构结构,支持对数据的快速查找,插入和删除。 跳表(Skip List)是由 William Pugh 发明的一种查找数据结构结构,支持对数据的快速查找,插入和删除。 跳表的期望空间复杂度为 $O(n)$ ,跳表的查询,插入和删除操作的期望复杂度都为 $O(\log n)$ 。 Loading Loading @@ -201,10 +201,11 @@ bool erase(const K &key) { SkipListNode() {} SkipListNode(K k, V v, int l, SkipListNode *nxt = NULL) { key = k; value = v; level = l; key = k; value = v; level = l; forward = new SkipListNode *[l + 1]; for (int i = 0; i <= l; ++i) forward[i] = nxt; for (int i = 0; i <= l; ++i) forward[i] = nxt; } ~SkipListNode() { Loading Loading @@ -322,9 +323,7 @@ bool erase(const K &key) { return tail->value; } bool count(const K &key) { return find(key) != tail->value; } bool count(const K &key) { return find(key) != tail->value; } }; int main() { Loading