原文:http://people.csail.mit.edu/shanir/publications/OPODIS2006-BA.pdf
最近不断听说常用跳表实现内存索引(leveldb/redis/hbase), 研究了这篇1990的论文,跳表一种比平衡树和伸展树空间更节约、更易于实现且非常高效的数据结构。
原来认识到的只是静态跳表,动态跳表则是每次随机确定一个level,概率上非常高效。
作者建议p选1/4,因为这是平均查找次数和1/2是一样的,但需要的指针只要1.33。当然,如果对于查找次数的方差很在意,还是使用1/2。

本文介绍了跳表这一高效数据结构,对比平衡树和伸展树,跳表在空间占用及实现难度上有明显优势。文中提到动态跳表通过随机确定层级的方式在概率上保持高效性,并探讨了不同概率设置下对查找效率的影响。
385

被折叠的 条评论
为什么被折叠?



