跳跃链表课程介绍.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《数据结构与算法》 课程设计说明书 题 目: 跳跃表的实现与应用 学 院: 计算机科学与工程学院 专 业: 信息安全 姓 名: 王世琦 学 号: 1200360123 指导教师: 张瑞霞 2015年 10 月 15 日 摘 要 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 本文共有六个部分。了跳跃表程序的系统概述包括所要具备的基本功能和高要求功能该系统的用户人群部分介绍了该程序的需求分析开发环境。问题描述功能需求跳跃表程序的基本内容基本内容中简单介绍了跳跃表的定义构造步骤跳跃表的基本操作(初始化插入)复杂度分析包括跳跃表的创建、程序包含的功能、的检索、跳跃表的插入、跳跃表的删除跳跃表的显示、链表效率比较和这模块阐述了了特色及关键技术是结论。包括 关键词: 跳跃表;高效;概率;随机化; 引言 1 1 系统概述 1 2 需求分析 1 2.1 系统需求 1 2.1.1 问题描述 1 2.1.2 功能需求 2 2.1.3基本内容: 2 2.2 开发环境 4 3 详细设计 4 3.1 跳跃表的创建 4 3.2 跳跃表程序包含的功能 5 3.3 跳跃表的检索 6 3.4 跳跃表的插入 7 3.5 跳跃表的删除 7 3.6跳跃表的显示 8 3.6.1跳跃表底层链遍历 8 3.6.2跳跃表的各层链结构显示 8 3.7链表效率比较 9 3.8退出程序 11 4 所遇到的问题和分析解决 11 5 系统特色及关键技术 11 6 结论 12 参考文献 13 引言 跳跃链表时1987年才诞生的一种崭新的数据结构,它在进行查找、插入、删除等操作时的期望时间复杂度均为0,有着近乎代替平衡的本领。而且最重要的一点,就是它的编程复杂程度较同类的AVL树,红黑树要低得多,这使其无论是在理解还是在推广性上,都有着十分明显的优势。跳跃链表的最大优势在于无论是查找、插入和删除都是O(logn),不过由于跳跃链表的操作是基于概率形成的,那么它操作复杂度大于O(logn)的概率为,可以看出当n越大的时候失败的概率越小。 人们在思考一类问题的时候,往往会无意中被局限在一个小范围当中。就拿和平衡树相关的问题来说,人们凭借自己的智慧,创造出了红黑树,AVL树等一些很复杂的数据结构。可是千变万变,却一直走不出“树”这个范围。过高的编程复杂度使得这些成果很难被人们所接受。而的出现,使得人们眼前顿时豁然开朗。原来用与树完全不相关的数据结构也能够实现树的功能! 1 系统名称:的实现与应用 具备的功能包括以下点: (4)输入:数据是随机产生;非随机产生两种情况 (5)将跳跃链表的操作封装为DLL。 (6)UI设计与实现。 2 需求分析 2.1 系统需求 2.1.1 问题描述 链表存在的一个缺陷是:在有序链表中查找一个元素是否存在,需要从头开始,依次 顺序查找。跳跃链表是有序链表的一个变种,可以进行非顺序查找。 二叉树是我们都非常熟悉的一种数据结构。它支持包括查找、插入、删除等一系列的操作。但它有一个致命的弱点,就是当数据的随机性不够时,会导致其树型结构的不平衡, 从而直接影响到算法的效率。 是一种随机化的数据结构,基于并联的链表,其效率可比拟于二叉查找树(对于大多数操作需要O(log n)平均时间)。基本上,跳跃列表是对有序的链表增加上附加的前进链接,增加是以随机化的方式进行的,所以在列表中的查找可以快速的跳过部分列表(因此得名)。所有操作都以对数随机化的时间进行。可以很好解决有序链表查找特定值的困难。 需求 跳跃表(Skip List)是1987年才诞生的一种崭新的数据结构,它在进行查找、插入、删除等操作时的期望时间复杂度均为O(logn),有着近乎替代平衡树的本领。而且最重要的一点,就是它的编程复杂度较同类的AVL树,红黑树等要低得多,这使得其无论是在理解还是在推广性上,都有着十分明显的优势。 跳跃表由多条链构成(S0,S1,S2 ??,Sh),且满足如下三个条件: () 每条链中的元素集合必须包含于序数较小的链的元素集合 () 每条链必须包含两个特殊元素:+∞ 和 -∞ () S0包含所有的元素,并且所有链中的元素按照升序排列。 内容: )定义以及构造步骤 定义 一个跳表,应该具有以下特征: 一个跳表应

文档评论(0)

舞林宝贝 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档