- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
18
第一讲
19
基本术语
数据元素(Data Element) 是数据的基本单位。在不同的条件下,数据元 素又可称为元素、结点、顶点、记录。
数据元素类(Data Element Class) 是具有相同性质的数据元素的集合 。
例如: 整数数据对象N={0,1-1,2,-2……} 字母数据对象C={’a’ ,’b’ ,’c’……}
23
按行政分组来建立树形的数据结构 Tree =(D,R)其中: D={01,02,03,04,05,06,07,08,09,10} R={<01,02>,<01,03>,<01,04>,<02,05>,<02,06>,
<02,07>,<03,08>,<03,09>,<04,10>} 按员工的爱好来建立图状的数据结构 Graph =(D,R) 其中: D={01,02,03,04,05,06,07,08,09,10, 网,羽,乒} R={<01,羽>,<01,乒>,<05,网>,<05,乒>,<06,网>}
数据结构
付细楚
2011年2月
1
联系方式
电子邮件:xichuf@ 欢迎同学们共同交流和探讨。
2
课程的性质 综合性的专业基础课程 软件专业课程体系中的核心课程
先修课: C++程序设计语言,离散数学 后续课: 几乎所有的软件方面课程,
如:操作系统,编译原理,算法分析 与设计,应用系统开发等.
[2] Bruno R. Preiss,数据结构与算法——面向对象的 C++设计模式,北京:电子工业出版社,2003年
[3] 李春葆. 数据结构习题与解析(C语言版 第二 版). 北京:清华大学出版社,2004年
[4] 陈元春等编,用数据结构基础,中国
介绍数据结构的基本概念 1. 什么是数据结构 2. 数据结构基本概念 3. 抽象数据类型表示与实现 4. 算法及算法分析
置N 个皇后, 每个皇后不能相遇 按国际象棋的规则,皇后可以 横吃,竖吃, 斜吃.
以简化的 四皇后问题为例, 说明八皇后问题.
● ●
● ●
四皇后问题最后结果如附图. 四皇后最后的结果
14
四皇后问题情形一
●
●
●
●
●
●
●
15
例1.3 交通灯管理问题
交通管理问题(P3 图1.3) 设计一个交通信号灯:
9
1.1 什么是数据结构
应用领域: 科学计算
• 加工对象: 数值
信息管理、人工智能、 文字处理
字符、表格、图像或 其他具有一定结构的数据
10
计算机解决问题的步骤
用计算机解决具体实际问题时,一般过程如下:
从具体问题抽象出适当的数据模型, 设计求解数据模型的算法 编写程序,运行并调试程序, 直到解决实际
状结构也称网状结构。
21
数据的逻辑结构
数据的逻辑结构可以看作是从具体问题中抽象出来 的数学模型,它与数据的存储无关
逻 线性: 线性表、栈、队列、数组、串 辑 结 构 非线性: 广义表、树、图
22
数据结构定义举例 Data Structure=(D,R) 其中,D是数据元素的有限集,R是D上关系的有 限集 例如: 按员工的编号来建立元素间的线性关系 Linear-List =(D,R) 其中: D={01,02,03,04,05,06,07,08,09,10} R={<01,02>,<02,03>,…………<09,10>}
12
图书信息表
000001 000002 000003 000004 。。。
高等数学 理论力学 高等数学 线性代数 。。。
樊映川 罗远祥 华罗庚 阳正宏 。。。。
S01 L01 S01 S02 。。。
。。。 。。。 。。。 。。。 。。。
13
例1.2 八皇后问题
N 皇后问题 是要求一个 N×N 的棋盘上放
问题. 举例: 求水仙花数问题. 寻求数据模型实质是: 分析问题,从中提取操作的对象,并找出这些操 作对象之间的关系,然后用数学语言加以描述.
11
例1.1 图书信息检索
登录号,书名, 作者,出版社, 出版日期等 构成一张表. 每本书一个登录号.
要求按书名,作者,分类号等进行查找,
建立分别按书名,作者名,分类号的顺序排列 的索引表. 书目表,书名,作者名,分类号索引表 构成数学模型.
使车辆通行时互相之间不能碰撞.
问题转化为: 对图上的每一个顶点染一种颜色,要求有连 线的顶点颜色不能相同.
16
例1.4 交通咨询问题
城市公交线路图,求解出行路径。
17
1.2 数据结构的基本概念
数据(Data)
信息的载体,它能够被计算机识别、存储和加工 处理。
例如:
数值计算中的整数和实数, 编译程序或文本编辑程序中的字符串。 多媒体技术中所涉及的视频和音频信号,经采集 转换后都能形成被计算机所接受的数据。
3
课程安排 教学安排:
教学总学时数 56学时 (其中 讲授:40课时, 实验 16 课时)
数据结构与算法课程设计(2周) 10软件4、5、6、7、8班
4
研究对象 主要是研究: 非数值计算的程序设计问题中所出现的 计算机操作对象以及它们之间的关系和操作
5
学习目的
了解计算机处理对象的特性,将现实世界中 实际问题中所涉及的处理对象在计算机中表 示出来并对它们进行处理。
与此同时,通过算法训练提高计算机思维的 能力,通过程序设计的技能训练来促进综合 应用能力和专业素质的提高。
6
教材
[1] 严蔚敏等. 数据结构(C语言版), 北京:清华大学出版社,1997年
[2] 李根强 数据结构习题解答及实训指导 北京:中国水利出版社, 2009年
7
参考资料
[1] 殷人昆等. 数据结构(用面向对象方法与C++描), 北京:清华大学出版社,1999年
20
数据结构的概念
数据结构(Data Structure)是指互相之间存在着一 种或多种关系的数据元素的集合。
四类基本的结构: (图1.5) (1)集合 数据元素间的关系是’属于同一个集合’ 。 (2)线性结构 数据元素之间存在一对一的关系。 (3)树形结构 数据元素之间存在一对多的关系。 (4)图状结构 数据元素之间存在多对多的关系,图