+ 1

skip list in java

can someone please explain the implementation of skip list in java especially insert method/function?

11th Feb 2020, 6:48 PM
THE_MASTERMIND
THE_MASTERMIND - avatar
4 Answers
+ 1
Hello THE_MASTERMIND Can you share a code or link please so I can see it?
12th Feb 2020, 12:01 AM
Denise Roßberg
Denise Roßberg - avatar
+ 1
can someone help me with insert and delete
13th Feb 2020, 7:10 AM
THE_MASTERMIND
THE_MASTERMIND - avatar
0
skipList.java import java.util.Random; @SuppressWarnings("unchecked") public class SkipList<T extends Comparable<? super T>> { public int maxLevel; public SkipListNode<T>[] root; private int[] powers; private Random rd = new Random(); SkipList(int i) { maxLevel = i; root = new SkipListNode[maxLevel]; powers = new int[maxLevel]; for (int j = 0; j < i; j++) root[j] = null; choosePowers(); rd.setSeed(1230456789); } SkipList() { this(4); } public void choosePowers() { powers[maxLevel-1] = (2 << (maxLevel-1)) - 1; for (int i = maxLevel - 2, j = 0; i >= 0; i--, j++) powers[i] = powers[i+1] - (2 << j); } public int chooseLevel() { int i, r = Math.abs(rd.nextInt()) % powers[maxLevel-1] + 1; for (i = 1; i < maxLevel; i++) { if(r < powers[i]) return i-1; } return i-1; } skipListNode.java public class SkipListNode<T> { public T key; public SkipListNode<T>[] next; @SuppressWarnings("unchecked") SkipListNode(T i, int n) { key = i; next = new SkipListNode[n]; for (int j = 0; j < n; j++) next[j] = null; } }
12th Feb 2020, 9:28 AM
THE_MASTERMIND
THE_MASTERMIND - avatar
0
THE_MASTERMIND I try to take a closer look at the weekend.
13th Feb 2020, 9:09 AM
Denise Roßberg
Denise Roßberg - avatar