四川大学计算机软件技术基础课件 数据结构概述.pptVIP

四川大学计算机软件技术基础课件 数据结构概述.ppt

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构概述 计算机软件技术基础 教 师:曾晓东 电 话E_mail: zengxiaodong@263.net 第2章 数据结构概述 一、什么是数据结构 二、有关数据结构的基本概念和术语 三、算法 四、算法描述语言和算法分析 计算机软件技术基础 数据结构概述 第2章 数据结构概述 一、什么是数据结构 程序=算法+数据结构 例: 表达式解释 6+5*4=? 字符串匹配 串“ABCAC”出现在另一个串“ABCABCACAC”的第几个位置上 排序 一个序列,如何最快地对其进行排序 压缩编码 AAAABBBCDDE?? 图的最短路径 地理研究中的交通网络 计算机软件技术基础 数据结构概述 第2章 数据结构概述 一、什么是数据结构 1、数值型与非数值型数据 (1)学生表格 计算机软件技术基础 数据结构概述 一、什么是数据结构 (2)选课表 (3)UNIX的文件系统 计算机软件技术基础 数据结构概述 一、什么是数据结构 2、数据结构 简单来说,就是相互之间存在一种或多种特定关系的数据元素的集合。 如线性关系、层次关系、网状关系等。 计算机软件技术基础 数据结构概述 第2章 数据结构概述 二、有关数据结构的基本概念和术语 1、数据(data):计算机程序所处理的一切数值性的和非数值性的信息。 2、数据元素(data element):是数据集合中的一个个体,是数据的基本单位。如数据集合N={1,2,3,4,5}中整数1至5均为数据元素。 数据元素不一定是单个的数字或字符,也可能是若干个数据项的组合,如学生信息。 学生(学号,姓名,性别,成绩) 数据项(data item)是数据不可再分的最小单位。 数据元素有时也称结点、节点或记录。 计算机软件技术基础 数据结构概述 二、有关数据结构的基本概念和术语 3、数据对象(data object):是具有相同性质的数据元素的集合。如大写字母字符的数据对象是集合:C={ ‘A’,’B’,...,’Z’ }。 4、数据结构(data structure):研究数据元素之间抽象化的相互关系和这种相互关系在计算机系统中的存储方式,并对每种数据结构定义相关的运算算法,确保经过运算后仍然是原来的数据结构类型。 5、数据的逻辑结构(logical structure):表示数据元素之间抽象化的相互关系,又可简称为数据结构。它研究数据元素及其关系的数学特性。 集合、线性、树型、网状 6、数据的物理结构(physical structure):表示数据的逻辑结构在计算机系统中的存储方式,又可简称为存储结构。它是逻辑结构在计算机中的映象,也就是具体实现。 顺序存储、链式存储、索引存储、散列存储 计算机软件技术基础 数据结构概述 第2章 数据结构概述 三、算法 1、算法:为解决某个计算任务而安排的有限操作过程的描述。 2、算法的特性 有穷性 确定性 数据输出 数据输入 能行性 计算机软件技术基础 数据结构概述 三、算法 3、好的算法的特性 正确性 可读性 健壮性 高效率和低存储空间要求 简洁性 计算机软件技术基础 数据结构概述 第2章 数据结构概述 四、算法描述语言和算法分析 1.算法描述语言 本门课程基本采用标准C描述算法。 注释部分用//或/*...*/表示。 有些地方为方便起见,可能省略变量定义等有关内容。 请大家复习C语言的相关内容,特别是指针和结构两部分的内容 计算机软件技术基础 数据结构概述 四、算法描述语言和算法分析 2、算法的复杂性分析 一个可执行的算法不一定是一个好算法,算法的分析是一个复杂的问题,通常用计算机执行时在时间和空间两方面的消耗多少作为评价该算法优劣的标准。 这两个标准分别称为时间复杂度和空间复杂度。一般时间复杂度考虑的较多。 度量一个程序的执行时间通常有两种方法: 事后统计和事前分析估算 这里我们介绍第二种方法。 计算机软件技术基础 数据结构概述 四、算法描述语言和算法分析 2.1 时间复杂度 频度:指一条语句重复执行的次数,记作:F(n) 时间复杂度:T(n)=O(F(n)) 下面举例说明如何求时间复杂度? 计算机软件技术基础 数据结构概述 四、算法描述语言和算法分析 1. for (i=0; in; i++) 2. for (j=0; jn; j++){ 3. b[i][j]=0; 4. for (k=0; kn; k++) 5. b[i][j]=b[i][j]+a[i][k]*a[k][j]; 6. } 我们以执行次数最多的语句(第5句)进行计算: 语句频度为:F(n)=n3 时间复杂度:T(n)=O(F(n))=O(n3)

文档评论(0)

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

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

1亿VIP精品文档

相关文档