数据结构课程教程第一章.ppt

  1. 1、本文档共57页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构课程教程第一章

1.2 基本概念和术语 1.2 基本概念和术语 4.数据类型 抽象数据类型 数据类型:是一个值的集合和定义在这个值集上的所有 的操作。如,整型。 数据类型可分为:非结构的原子类型和结构类型。 原子类型的值是不可分解的 结构类型的值是由若干成分按某种结构组成的。 数据类型在高级语言中指数据的取值范围及其上可进行的操作的总称 抽象数据类型: 是指一个数学模型以及定义在该模型上的一组操作。抽象数据类型和数据类型实质上是一个概念,它仅取决于数据类型的逻辑性,而与其在计算机内部如何表示和实现是无关的。 也就是说抽象数据类型的定义由一个值域和定义在该值域上的一组操作组成。 按抽象数据类型值的不同特性,分为三种类型: ①原子类型:变量的值是不可分解的。 ②固定聚合类型:变量的值由确定数目的成分按某种结构组成。 ③可变聚合类型:其值的成分数目不确定。 ADT 抽象数据类型名{ 数据对象:〈数据对象的定义〉 数据关系:〈数据关系的定义〉 基本操作:〈基本操作的定义〉 }ADT 抽象数据类型名。 数据基本操作的定义格式: 基本操作名(参数表) 初始条件:〈初始条件描述〉 操作结果:〈操作结果描述〉 Get(T,i,e)//三元组T已存在,1=i=3 用e返回第i元的值 Put(T,i,e) //三元组T已存在,1=i=3 将T的第i元值变为e IsAscending(T)//三元组T已存在,1=i=3 三元素若升序排列返回1,否则返回0 IsDescending(T) Max(T,e) Min(T,e) }ADT Triplet 多形数据类型:是其值的成分不确定的数据类型。 如例1-6中定义的抽象数据类型Triplet,其元素e1,e2,e3可以是整数或字符串,也可以是由多种成分构成。 1.3 抽象数据类型的表示与实现 抽象数据类型可通过固有数据类型来表示和实现,即利用处理器中已存在的数据类型来说明新的结构,用已经实现的操作来组合新的操作。 精选了C 的一个子集,扩充修改,增强了语言的描述功能。 预定义常量和类型 数据结构的表示:存储结构用类型(typedef)定义来 描述。 数据元素类型约定为ElemType. 基本操作的算法用函数描述: 算法效率的度量 算法效率——用依据该算法编制的程序在计算机上执行所消耗的时间来度量。(算法时间是由控制结构和原操作的决定的) 记号——引用了“O”。“O”表示一个 数量级的概念。(常见的量级) 本书中根据算法中语句执行的最大次数(频度)来 估算一个算法执行时间的数量级。 时间复杂度:算法中基本操作重复执行的次数是问题规模n的某个函数f(n), T(n)=O(f(n)) 它表示随问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同。 语句的频度:是该语句重复执行的次数。 例:求两个n阶方阵的乘积C=A×B #define n 100 void MatrixMultiply(int A[n][n],int B[n][n],int C[n][n]) { int i,j,k for (i=1;i=n;++i) //n+1 for (j=1;j=n;++j) // n*(n+1) { C[i][j]=0; //n2 for (k=1;k=n,k++) n2(n+1) C[i][j]=C[i][j]+a[i][k]*b[k][j]; //n3 } } T(n)=n+1+n*(n+1)+n2+n2(n+1)+n3=2n3+3n2+2n+1 量级:T(n)=O(n3) 例: (a){++x;s=0;} (b)for (i=1;i=n;++i) {++x;s+=x;} (c)for (j=1;j=n;++j) for (k=1;k=n;k++){++x;s+=x;} 含基本操作“x增1”的语句的频度分别为1,n和n2 时间复杂度是O(1)、O(n)和O(n2)。 时间复杂度有时与输入有关。 1.类C语言P10-11 1.4 算法和算法的衡量 一、算法及特点 二、算法设计的原则 三、算法效率的衡量

文档评论(0)

zhuwenmeijiale + 关注
实名认证
内容提供者

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

版权声明书
用户编号:7065136142000003

1亿VIP精品文档

相关文档