- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1
? 1.1 什么是数据结构
? 1.2 基本概念和术语
? 1.3 抽象数据类型的表示和实现
? 1.4 算法和算法分析
第1章 绪论
2
一、数据结构课程的研究内容
电子计算机的主要用途:
?早期: 主要用于数值计算。
?后来: 处理逐渐扩大到非数值计算领域(能处理
多种复杂的具有一定结构关系的数据)
数学模型→选择计算机语言→编出程序→测试→最终解答
数据元素之间的相互关系一般无法用数学方程加以描述
1.1 什么是数据结构
3
? 非数值计算问题
例1.1 电话号码查询问题。
例1.2 田径赛的时间安排问题:
设有六个比赛项目,规定每个选手至多可参加三个项目,有五人报名参加比赛(如下表所示)。要求设计比赛日程表,使得在尽可能短的时间内完成比赛。
1.1 什么是数据结构
4
(1)设用如下六个不同的编码代表不同的项目:
跳高 跳远 标枪 铅球 100米 200米
A B C D E F
姓名
项目1
项目2
项目3
丁一
A
B
E
马二
C
D
张三
C
E
F
李四
D
F
A
王五
B
F
(2)用顶点(圆圈)代表比赛项目
不能同时进行比赛的项目之间连上一条边。
A
E
B
F
D
C
比赛时间
比赛
项目
1
A,C
2
B,D
3
E
4
F
1.1 什么是数据结构
5
因此,可以认为:数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作等的学科。
由此可见:对于解决非数值计算的问题首先要考虑
对相关的各种信息如何表示、组织和存储?
1.1 什么是数据结构
6
1.许卓群,张乃孝,杨冬青,唐世渭,《数据结构》,国防科技大学计算机研究所,1985年
“按某种逻辑关系组织起来的一批数据,按一定的存储表示方式把它存储在计算机的存储器中,并在这些数据上定义了一个运算的集合,就叫做一个数据结构。”
特点:从三个方面来看数据结构。
2.李春葆,《数据结构(C语言篇)习题与解析》,清华大学出版社,2000年
“数据结构是指同一数据元素类中各数据元素之间存在的关系。数据结构又可以分为下述三个组成部分,它们分别是数据的逻辑结构、数据的存储结构和数据的运算。”
特点:明确强调“关系”,且细分“关系”。
1.1 什么是数据结构
7
3.黄国瑜,叶乃菁,《数据结构》,清华大学出版社,2001年
“在程序语言中,“数据类型”是指程序语言中变量所能表示并存储的数据种类,“数据实体”则是指在一种数据类型中的所有可能元素的集合。而“数据结构”,大致上说来,就是数据实体中元素之间的关系,包括数据的表示法和运算。”
特点:指出“关系”为表示法和运算。
4.陈慧南,《数据结构——C语言描述》,西安电子科技大学出版社,2003年
“从数学概念上讲,一个数据结构是由数据元素依据某种逻辑联系组织起来的。
研究数据结构是为了解决应用问题,所以讨论数据结构必须同时讨论在数据结构上执行的相关运算及其算法才有意义。”
特点:从逻辑联系入手,兼顾其它方面。
1.1 什么是数据结构
8
计算机内的数值运算依靠方程式,而非数值运算则要依靠数据结构。
同样的数据对象,用不同的数据结构来表示,运算效率可能有明显的差异。
程序设计实质 = 好算法 + 好结构
二、学习数据结构课程的用处
1.1 什么是数据结构
9
是介于数学、计算机硬件和计算机软件三者之间的一门核心课程
数学
硬件
软件
三、数据结构课程的地位
1.1 什么是数据结构
10
数据--是对客观事物的符号表示,在计算机科学中是指所有(Data) 能输入到计算机中并被计算机程序处理 的符号的总
称(整数、实数、字符串、图像、声音等)。
数据元素--是数据的基本单位,具有完整确定的实际意义,
(Data Element) 在计算机程序中通常作为一个整体进行考虑和
处理(又称记录、结点等)。
数据项-- 一个数据元素可由若干个数据项组成, 是数据的
(Data Item) 不可分割的最小单位(又称字段等)。
三者之间的关系:数据数据元素数据项
例:学生档案个人记录姓名、性别、籍贯…
1.2 基本概念和术语
11
数据对象(Data Object)--是性质相同的数据元素的集合,
是数据的一个子集。
数据结构(Data Structure)--是相互之间存在一种或多种
文档评论(0)