浅谈“跳跃表”的关操作及其应用.pptVIP

  • 20
  • 0
  • 约3.87千字
  • 约 15页
  • 2018-10-04 发布于浙江
  • 举报
让算法的效率“跳起来”! —— 浅谈“跳跃表”的相关操作及其应用 “跳跃表” — 新生的宠儿 跳跃表(Skip List)是1987年才诞生的一种崭新的数据结构,它在进行查找、插入、删除等操作时的时间复杂度均为O(logn),有着近乎替代平衡树的本领。而且最重要的一点,就是它的编程复杂度较同类的AVL树,红黑树等要低得多,这使得其无论是在理解还是在推广性上,都有着十分明显的优势。 “跳跃表”的结构 跳跃表由多条链构成(S0,S1,S2 ……,Sh),且满足如下三个条件: 每条链必须包含两个特殊元素:+∞ 和 -∞ S0包含所有的元素,并且所有链中的元素按照升序排列。 每条链中的元素集合必须包含于序数较小的链的元素集合,即: “跳跃表” 的时空效率 空间复杂度: O(n) (期望) 跳跃表高度: O(logn) (期望) 相关操作的时间复杂度: 查找: O(logn) (期望) 插入: O(logn) (期望) 删除: O(logn) (期望) 基本操作一 查找 目的:在跳跃表中查找一个元素 x 在跳跃表中查找一个元素x,按照如下几个步骤进行: 从最上层的链(Sh)的开头开始 假设当前位置为p,它向右指向的节点为q(p与q不一定相邻),且q的值为y。将y与x作比较 x=y 输出查询成功,输出相关信息 xy 从p向右移动到q的位置 xy 从p向

文档评论(0)

1亿VIP精品文档

相关文档