【问题标题】:Skip List: Insertions跳过列表:插入
【发布时间】:2016-05-14 03:15:44
【问题描述】:

我试图了解跳过列表如何用于插入,但是当我将其绘制出来时,它不起作用。

|-inf<---------------------------->+inf|0
|-inf<--------->4<---------------->+inf|1
|-inf<--------->4<--->9<--->11<--->+inf|2
|-inf<--->1<--->4<--->9<--->11<--->+inf|3

所以我想在上面的链表上插入5。

从第 0 行开始:从 -inf 开始,将 5 与 +inf 进行比较,移动到下一行。

移动到第 1 行:

是 5

移动到第 2 行:

现在我们在 4 和 9 之间遍历,所以比较类似于 5

但是现在 5 没有出现在第 3 行? 我做错了什么?

【问题讨论】:

    标签: data-structures linked-list skip-lists


    【解决方案1】:

    当您看到 5

    1. 5 > +inf?否:向下移动。
    2. 5 > 4?是:向右移动。
    3. 5 > +inf?否:向下移动。
    4. 5 > 9?否:向下移动。
    5. 5 > 9?否:向下移动。
    6. 无法在上一步中向下移动,因此在底部插入 4 到 9 之间。
    7. 概率性地增加 5 到更高的行。

    【讨论】:

      猜你喜欢
      • 2014-12-03
      • 1970-01-01
      • 1970-01-01
      • 2012-08-27
      • 1970-01-01
      • 2014-06-17
      • 1970-01-01
      • 2016-07-30
      相关资源
      最近更新 更多