Design Skip List
可以分为:
perfect skip list
代价是每次插入删除都可能让整个list重新构建
randomized skip list
对于每个插入节点,有1/2可能性上升到上一层节点
skip list class:
搜索skip list过程:
Element find(Element key)
{
SkipListNode current=header;
for(int i=maxLevel;i>=0;i--)
{
SkipListNode next=current.forward[i];
while(cur.data<key)
{
current=next;
next=current.forward[i];
}
}
current=current.forward[0];
if(current.data==key)return current.data;
else return null;
}