- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
内容安排 (40授课+16实验) 1.1 数据结构课程的地位 介于数学、计算机硬件和计算机软件三者之间的一门核心课程 1.2 基本概念 【数据】(Data)是对信息的一种符号表示。能被计算机输入、存储、处理和输出的一切信息 【数据元素】(Data Element)是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。它是数据整体中相对独立的单位,也称节点(node)或记录(record) 【数据项】一个数据元素可由若干个数据项组成。数据项是数据的不可分割的最小单位,也称域(field)。 【数据对象】(Data Object)是性质相同的数据元素的集合。是数据的一个子集。 【数据结构】是相互之间存在一种或多种特定关系的数据元素的集合。 1.3 数据的逻辑结构 用 二元组描述数据结构 Data_Structure =(D,R)其中: D是数据元素的有限集; R是在D上关系的有限集,即R是有限个关系的集合。 1.4 数据的存储(物理)结构 数据的存储(物理)结构—数据的逻辑结构在计算机存储器中的实现 存储结构分为: 顺序存储结构——借助元素在存储器中的相对位置来表示数据元素间的逻辑关系 链式存储结构——借助指示元素存储地址的指针表示数据元素间的逻辑关系 1.5 数据类型 1.5.1 抽象数据类型的表示 抽象数据类型实际上就是对该数据结构的定义,它与数据类型实质上是一个概念。用三元组描述如下: ADT =(D,R,P) 其中:D是数据对象,用结点的有限集合表示;R是D上的关系的集合,用结点间的序偶的集合来表示;P是对D的基本操作的集合。 用以下格式定义抽象数据类型: ADT 抽象数据类型名 { 数据元素集D:〈 数据元素集的定义〉 数据关系集R:〈数据关系的定义〉 基本操作集P:〈各种基本操作的定义〉 }ADT 抽象数据类型名 1.5.2 抽象数据类型的表示 基本操作的定义格式为: 基本操作名(参数表) 初始条件:〈初始条件描述〉 操作结果:〈操作结果描述〉 基本操作有两种参数:赋值参数只为操作提供输入值;引用参数以打头,除可提供输入值外,还将返回操作结果。“初始条件”描述了操作执行之前数据结构及参数应满足的条件,“操作结果”说明了操作正常完成之后,数据结构的变化和应返回的结果。 1.5.3 例题 抽象数据类型圆(Circle)的定义。 ADT Circle { 数据对象集:D={r | r∈实型数集合} 数据关系集:R={ } 基本操作集:P包括 InitCircle( r,c) 初始条件:c为圆的半径(c0) 操作结果:构造一个圆r,使其半径为c DestroyCircle(r) 初始条件:圆r已存在 操作结果:撤消圆r(使其半径为0) AreaCircle(r,A) 初始条件:圆r已存在 操作结果:用A返回圆的面积 CircumferenceCircle(r,C) 初始条件:圆r已存在 操作结果:用C返回圆的周长 }ADT Circle 1.6 算法的引入 1.7 算法分析:基本概念 1.8 时间复杂度 一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数f(n),算法的时间量度记作 T(n)=O(f(n)) 称作 算法的渐近时间复杂度,简称时间复杂度。它表示随问题规模n的增加,算法执行时间的增长率和f(n)的增长率相同。 线性结构的特点: ① 只有一个首结点和尾结点; ② 除首尾结点外,其他结点只有一个直接前驱和一个直接后继。 第2章 线性表 2.1 线性表的(定义)逻辑结构 2.2 线性表的顺序表示和实现 2.3 线性表的链式表示和实现 2.4 应用举例 —一元多项式的表示 2.1 线性表的(定义)逻辑结构 2.1 顺序表的表示 用一组地址连续的存储单元依次存储线性表的元素,可通过数组V[n]来实现。 线性表的顺序存储结构示意图 2.2 链表的表示 例1 画出26 个英文字母表的链式存储结构。 与链式存储有关的术语: 5、头指针、头结点和首元结点 2.3 补充结构数据类型及其C语言表示法 ① 类型定义和变量说明可以合写为: typedef struct node { //node是自定义结构类型名称
文档评论(0)