第1章 基本概念与算法.ppt

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

; 本章主要内容 1.1 数据结构基本概念和术语 1.2 理解数据的逻辑结构和存储结构 1.3 抽象数据类型ADT 1.4 算法和算法分析;例1:图书管理系统;例2:人机对弈系统;例3:多交叉路口交通灯管理系统;;1.1 数据结构基本概念和术语;1.1 数据结构基本概念和术语;6.数据类型(Data Type):是一个值的集合和定义在这个值集上的一组操作的总称。 数据类型的分类: ①非结构的原子类型:原子类型的值是不可分解的。如:C语言中的基本类型(整型,实型),字符型,指针类型和空类型。 ②结构类型:结构类型的值是由若干成分按某种结构组成的,因此是可分解的,并用它的成分可以是非结构的,也可以是结构的。如:数组的值由若干分量组成,每个分量可以是整数,也可以是数组。 ;1.2 数据的逻辑结构和存储结构;1.2 数据的逻辑结构和存储结构;举例1: L=(D,R) D={a, b, c, d, e} R={r} r={ }; 举例2: L=(D,R) D={a, b, c, d, e} R={r} r={a,b, b,c, c,d, d,e};举例3: L=(D,R),D={k1,k2,…,k9} ,R={r} r ={ k1,k2 , k1,k3 , k1,k4 , k1,k7 , k1,k8 , k4,k5 , k4,k6 , k7, k9 , k8, k9 };例1复数Complex=(C,R) C={c1,c2} R={P}={c1,c2} C1+c2i 例2:假设每个小组由一位教师、一至三名研究生及一至六名本科生组成,小组成员之间的关系是:教师指导研究生,而由每位研究生指导一至二名本科生。 Group=(P,R) 其中:P={T,G1,…,Gn,S11…Snm} 1≤n≤3,1≤m≤2 R={R1,R2} R1={T,Gi| 1≤i≤n,1≤n≤3} R2 ={Gi,Sij| 1≤i≤n,1≤j≤m,1≤n≤3,1≤m≤2};1.2 数据的逻辑结构和存储结构;1.2 数据的逻辑结构和存储结构;1.2 数据的逻辑结构和存储结构;1.3 抽象数据类型ADT;ADT Triplet { 数据对象:D={e1,e2,e3|e1,e2,e3∈ElemSet(定义了关系运算的某个集合)} 数据关系:R1={e1,e2,e2,e3} 基本操作: Init Triplet(T,v1,v2,v3)构造了三元组T,元素e1,e2,e3分别被赋以参数v1,v2,v3的值; Destroy Triplet (T) 三元组T被销毁; Get(T, i ,e) 初始条件:三元组T已存在,(1≤i≤3)。用e返回T的第i元的值; Put(T, i ,e)初始条件:三元组T已存在,(1≤i≤3)。改变T的第i元的值为e; ;IsAscending (T)初始条件:三元组T已存在。如果T的三个元素按升序排列,则返回1,否则返回0; IsDescending(T)初始条件:三元组T已存在。如果T的三个元素按降序排列,则返回1,否则返回0; Max(T,e)初始条件:三元组T已存在。用e返回T的三个元素中的最大值; Min(T,e)初始条件:三元组T已存在。用e返回T的三个元素中的最小值。}ADT Triplet ;(1)预定义常量和数据类型 //函数结果主要状态代码 const TRUE 1 const FALSE 0 const OK 1 const ERROR 0 const INFEASIBLE -1 const OVERFLOW -2 //status是函数的返回值类型,其值是函数结果状态代码 typedef int status (2)数据结构的表示都用类型定义(typedef)的方式描述。 基本数据元素类型约定为ElemType,由用户在使用该数据类型时再具体定义。 ; (3)基本操作的算法的描述函数为: 函数类型 函数名(函数参数表){ //算法说明 语句序列 } //函数名 (4)赋值语句有 简单赋值 变量名=表达式; 串联赋值 变量名1=变量名2=…=变量名k=表达式; 成组赋值 (变量名1,变量名2,...,变量名k);(表达式1,表达式2,..., 表达式k); 结构名=结构名;

文档评论(0)

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

教师资格证持证人

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

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档