数据结构绪论1new.pptVIP

  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文档。上传文档
查看更多
数据结构绪论1new.ppt

“数据结构 + 算法 = 程序 ” 这是结构化程序设计语言PASCAL之父、1984年的图灵奖得主,瑞士计算机科学家尼克劳斯 · 沃思(Niklaus Wirth ) 提出的著名公式。 为什么会提出这样的公式? 数据结构的定位 问题: 一个示例:星球间的距离 数据结构内容 线性表 栈与队列 串 数组 树 图 查找 排序 内容层次 概念 抽象类型 存储实现 基本操作实现 算法分析 数据结构要求 学会分析数据对象的特征,选择适当的数据结构及相应处理算法求解问题; 了解掌握各种数据类型及基本操作的算法实现; 掌握一般算法的复杂度分析。 数据结构实验安排 本课程采用讲授与实验相结合,用四分之一的课内时间,通过上机,完成两项课程设计,并撰写实验报告。目的在于让大家了解数据结构的用途。 基本概念和术语 数据——所有输入计算机中并被计算机处理的符号。 数据元素——数据的基本单位,通常作为一个整体。 数据对象——性质相同的数据元素的集合。 基本概念和术语 数据结构——数据元素以及之间存在的关系。有四种基本结构: 基本概念和术语 数据结构的形式定义: 基本概念和术语 数据的逻辑结构——用形式化方式描述数据元素间的关系。 数据的物理结构——数据在计算机中的具体表示。 数据类型——一种数据结构和定义在其上的一组操作。可以形式化定义为: 基本概念和术语 抽象数据类型——一种数学模型和定义在其上的一组操作。 基本概念和术语 基本操作种类——常见的基本操作有: 算法的定义 算法是对特定问题求解步骤的一种描述, 是指令的有限序列。 算法的特性 有穷性——算法必须在执行有穷步之后结束,而且每一步都可在有穷时间内完成。 确定性——每条指令无二义性。 可行性——算法中描述的每一操作,都可以通过已经实现的基本运算来实现。 输入——算法有零至多个输入。 输出——算法有一个至多个输出。 算法的描述工具 类Pascal语言描述 类C语言描述 **参见书中P10 类自然语言描述 算法的设计要求 正确性 可读性 健壮性 效率 算法效率的度量 效率——指时间和空间的利用率。 与效率相关的因素: 算法时间的表示 T(n)——规模为n 的算法的执行时间, 也称为时间复杂度。 f(n)——规模为n的算法 ,重复执行基本操作的次数。 T(n)= O(f(n)) 时间复杂度的等级 O(1) O(log n) O(n) O(n×log n) O(n2) O(nK) O(Xn ) 主讲:丁光耀 问题求解 数据描述 过程描述 离散数学 计算方法 数据结构 算法设计 程序设计 程序设计语言是什么? 已经学过程序设计吗? 程序设计相关主要课程 程序设计基础: 程序设计语言 数据结构 算法设计与分析 程序设计深化: 操作系统 编译原理 软件工程 应用拓展: 数据库原理 图形图像处理 网络编程 数据描述——数据如何组织,采用什么结构? 过程描述——数据如何处理,算法是怎样的? 第一节、基本概念和术语 1 、线性结构;2、集合结构 3、树形结构; 4、图结构 如下图所示: 集合 线性 树 图 Data--Structure=(D,S) D——数据元素集合 S——关系集合 Data--Type=(D,S,P) 特征:与内部表示无关 示例: 栈的抽象数据类型定义 数据对象:D 数据关系:R 基本操作: Initstack(s); Destroystack(s); Clearstack(s); Stackempty(s); ADT Stack{ } ADT Stack Stacklength(S); Gettop(S,e); Push(S,e); Pop(S,e); Stacktraverse(S); 插入操作 删除操作 更新操作 创建操作 查找操作 排序操作 遍历操作 撤销操作 第二节、算法的描述与分析 算法的选择 问题的规模 使用何种语言 编译程序质量 指令运行速度 等价于 T(n)≤M× f(n ) * * * *

文档评论(0)

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

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

版权声明书
用户编号:5311233133000002

1亿VIP精品文档

相关文档