- 1、本文档共53页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
01绪论-数据结构课程教学网站.ppt
1 绪论;了解数据结构研究的主要内容
掌握数据结构中涉及的基本概念
掌握算法、算法的时间复杂度及其分析的简易方法 ;1.1 数据结构的研究内容
1.2 基本概念和术语
1.3 算法与算法分析;1.1 数据结构的研究内容;书目检索;树;;多叉路口交通灯管理问题;求解非数值计算的问题:
设计出合适的数据结构及相应的算法
即:首先要考虑对相关的各种信息如何表示、组织和存储?
数据结构的研究内容为:
研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作。;数据结构课程的形成和发展:
形成阶段:
60年代初期,“数据结构”有关内容散见于操作系统、编译原理和表处理语言等课程。1968年,“数据结构”被列入美国一些大学计算机科学系的教学计划。
发展阶段:
数据结构的概念不断扩充,包括了网络、集合代数论、关系等“离散数学结构”的内容。
70年代后期,我国高校陆续开设该课程。;《数据结构》所处的地位:
;数据结构在计算机学科中的地位 ;;1.2 基本概念和术语;1、数据(data)—所有能输入到计算机中去的描述客观事物的符号
数值性数据
非数值性数据(多媒体信息处理)
2、数据元素(data element)—数据的基本单位,也称结点(node)或记录(record)
3、数据项(data item)—有独立含义的数据最小单位,也称域(field)。也是数据结构中讨论的最小单位。;例如:描述一个学生的数据元素可以包括:
{学号、姓名、出生日期、班级、电话}
其中:出生日期还可以包括{年、月、日},
因此,这个数据项称之为组合项。
;整数数据对象
N = { 0, ?1, ?2, … }
学生数据对象
学生记录的集合;数据结构(Data Structure)是相互之间存在一种或多种特定关系的数据元素的集合。;数据结构的两个层次:
逻辑结构:
数据元素间抽象化的相互关系,与数据的存储无关,独立于计算机,它是从具体问题抽象出来的数学模型。
存储结构(物理结构):
数据元素及其关系在计算机存储器中的存储方式。;数据的逻辑结构可归结为以下四类:;数据的存储结构:
顺序存储结构——借助元素在存储器中的相对位置
来表示数据元素间的逻辑关系
链式存储结构——借助指示元素存储地址的指针
来表示数据元素间的逻辑关系
;元素n;1536; 在用高级程序语言编写的程序中,必须对程序中出现的每个变量、常量或表达式,明确说明它们所属的数据类型。;抽象数据类型 (ADT: Abstract Data Type);抽象数据类型可以用以下的三元组来表示:
ADT = (D,S,P)
数据对象 D上的关系集 D上的操作集 ;赋值参数 只为操作提供输入值。
引用参数 以打头,除可提供输入值外,还将返回操作结果。;例如,抽象数据类型复数的定义:; ;假设:z1和z2是上述定义的复数;void Assign( complex Z, float realval, float imagval );
// 构造复数 Z,其实部和虚部分别被赋以参数
// realval 和 imagval 的值
float GetReal( complex Z );
// 返回复数 Z 的实部值
float Getimag( complex Z );
// 返回复数 Z 的虚部值
void add(complex z1, complex z2, complex sum );
// 以 sum 返回两个复数 z1, z2 的和;抽象数据类型; 抽象数据类型需要通过固有数据类型(高级编程语言中已实现的数据类型)来实现。;// -----基本操作的实现;1.3 算法和算法分析; 算法是为了解决某类问题而规定的一个有限长的操作序列。一个算法必须满足以下五个重要特性:;1.有穷性 对于任意一组合法输入值,在执行有穷步骤之后一定能结束,即:
算法中的每个步骤都能在有限时间内完成。;4.有输入 (0个或多个输入)作为算法加工对象的量值,通常体现为算法中的一组变量。有些输入量需要在算法执行过程中输入,而有的算法表面上可以没有输入,实际上已被嵌入算法之中。;二、算法的评价;1.正确性;2. 可读性;4.高效性;三、算法的效率度量;和算法执行时间相关的因素:; 假如,随着问题规模 n 的增长,算法执行时间的增长率和 f(n) 的增长率相同,则可记作:;算法 = 控制结构+原操作(固有数据类型的操作); 从算法中选取一种对于所研究的问题来说是 基本操作 的原操作,以该基本操作 在算
文档评论(0)