第3章 复杂问题的存储与处理-精品·公开课件.pptVIP

第3章 复杂问题的存储与处理-精品·公开课件.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1.算法的定义 对解题方案准确而完整的描述称为算法。 5. 算法评价 评价一个算法优劣的主要标准是算法的执行效率和存储需求: 时间复杂度:执行这个算法所需要的计算工作量。一般可以用算法在执行过程中所需基本运算的执行次数来度量计算工作量 空间复杂度:执行这个算法所需要的内存空间。算法在执行过程中临时占用的存储空间。 时间复杂度它大致等于计算机执行一种简单操作所需的平均时间与算法中进行简单操作的次数的乘积。 空间复杂度一个算法在计算机存储器上所占用的存储空间,包括存储算法本身所占用的存储空间、算法中的输入输出数据所占用的存储空间和算法在运行过程中临时占用的存储空间这三个部分。 计算机在进行数据处理时,实际需要处理的数据元素一般有很多,而这些大量的数据元素都需要存放在计算机中,因此,大量的数据元素在计算机中如何组织,以便提高数据处理的效率,并且节省计算机的存储空间,这是进行数据处理的关键问题。 数据结构主要研究以下三个方面的问题: 数据的逻辑结构 数据的存储结构 对各种数据结构进行的运算 数据的逻辑结构是指反映数据元素之间逻辑关系的数据结构。 数据的逻辑结构包含: (1)表示数据元素的信息; (2)表示各数据元素之间的前后件关系。 例: 1. 一年四季的数据结构 B=(D,R) D={春,夏,秋,冬} R={(春,夏) ,(夏,秋),(秋,冬)} 2. 家庭成员的数据结构 B=(D,R) D={父亲,儿子,女儿} R={(父亲,儿子) ,(父亲,女儿)} 算机在实际进行数据处理时,被处理的各数据元素总是被存放在计算机的存储空间中。 并且,各数据元素在计算机存储空间中的位置与它们的逻辑关系不一定是相同的,而且一般也不可能相同。 如:一年四季 , 家庭成员 计算机存储空间怎样存放? 存储结构指数据结构在计算机存储空间中的具体实现。 常见的存储结构有: 顺序存储结构 链式存储结构 索引存储结构 1.基本概念 线性表是由n(n≥0)个数据元素 a1,a2,…,ai,…,an组成的一个有限序列。 线性表的特点: 线性表中所有元素的性质相同。 除第一个和最后一个数据元素之外,其它元素有且仅有一个前驱和一个后继。第一个数据元素无前驱,最后一个数据元素无后继。 元素在表中的位置只取决于它自身的序号。 在线性表上常用的运算有: 初始化、求长度、取元素、修改、 前插、删除、检索、排序。 线性表的顺序存储结构 顺序存储结构把逻辑上相邻的数据元素存储在物理上相邻的存储单元里,顺序存储结构只存储结点的值,不存储结点间的关系,结点间的关系由存储单元的邻接关系来体现。 线性表的顺序存储 特点: 线性表中数据元素类型一致,只有数据域,存储空间利用率高。 所有元素所占的存储空间是连续的 各数据元素在存储空间中是按逻辑顺序依次存放的 做插入、删除时需移动大量元素。 空间估计不明时,按最大空间分配。 线性表的链式存储结构 线性表的链式存储结构称为线性链表。 链式存储结构不要求逻辑上相邻的数据元素物理位置也相邻,而且各数据元素的存储顺序也是任意的。各数据元素的先后关系是由各结点的指针域指示。 链式存储结构的每一个存储结点不仅存储结点的值,而且存储结点之间的关系。 线性链表的插入和删除运算 单链表的插入运算 单链表的删除运算 双向链表的存储结构 提问:单向链表的缺点是什么? 提示:如何寻找结点的直接前趋。 双向链表可以克服单链表的单向性的缺点。 在双向链表的结点中有两个指针域,其一指向直接后继,另一指向直接前趋。 1.队列的定义 队列(Queue)是一种特殊的线性表。其特点是所有的插入都在表的一端进行,所有的删除运算都在表的另一端进行。 队列是按照“先进先出”或“后进后出”的原则组织数据的线性表。 队列的物理存储结构可以用顺序结构,也可以用链式结构。 队列的主要运算 (1)设置一个空队列; (2)插入一个新的队尾元素,称为进队; (3)删除队头元素,称为出队; (4)读取队头元素; 产生假溢; 查找是数据处理的重要内容。 查找指在一个给定的数据结构中查找指定的元素,该元素也称关键字。 若找到了满足条件的结点,称查找成功;否则称查找失败。 衡量一个查找算法的主要标准是查找过程中对关键字进行的平均比较次数。 通常根据不同的数据结构,采用不同的查找方法. 线性表中最简单的查找方法。 方法:从线性表的第一个元素开始,依次将线性表中的元素与关键字进行比较,若相等,则查找成功;若将所有元素都与关键字进行了比较但不相等,则

文档评论(0)

秦圈圈 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档