Unverified Commit c82bb0ac authored by partychicken's avatar partychicken Committed by GitHub
Browse files

Merge pull request #2570 from Backl1ght/patch-5

Update skiplist.md
parents 940f096c 02c239dc
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -20,7 +20,7 @@

### 空间复杂度

对于一个节点节点而言,节点的最高层数为 $i$ 的概率为 $p^{i-1}(1 - p)$ 。所以,跳表的期望层数为 $\sum_{i>=1} ip^{i - 1}(1-p) = \frac{1}{1 - p}$ ,且因为 $p$ 为常数,所以跳表的 **期望空间复杂度** 为 $O(n)$ 。
对于一个节点而言,节点的最高层数为 $i$ 的概率为 $p^{i-1}(1 - p)$ 。所以,跳表的期望层数为 $\sum_{i>=1} ip^{i - 1}(1-p) = \frac{1}{1 - p}$ ,且因为 $p$ 为常数,所以跳表的 **期望空间复杂度** 为 $O(n)$ 。

在最坏的情况下,每一层有序链表等于初始有序链表,即跳表的 **最差空间复杂度** 为 $O(n \log n)$ 。

@@ -160,7 +160,7 @@ bool erase(const K &key) {
  // 节点不存在
  if (p->key != key) return false;

  // 从最底层开始删
  // 从最底层开始删
  for (int i = 0; i <= level; ++i) {
    // 如果这层没有p删除就完成了
    if (update[i]->forward[i] != p) {