数据结构课程介绍资料讲解

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

解释1: 什么叫数据的逻辑结构?
逻辑结构可细分为4类:
集合结构: 仅同属一个集合
线性
线性结构: 一对一(1:1) 树 结 构: 一对多(1:n)
非线性
图 结 构: 多对多 (m:n)
例:用图形表示下列数据结构,并指出它 们是属于线性结构还是非线性结构。
(1) S=(D, R) D={ a, b, c, d, e, f } R={(a,e), (b,c), (c,a), (e,f), (f,d)}
解: 上述表达式可用图形表示为:
bc a e
fd
此结构为线性的。
(2) S=(D, R) D={di | 1≤i≤5} R={(di , dj ), i<j}
解:上述表达式可用图形表示为: d1
d5
d2
该结构是非线性的。
d4
d3
百度文库
解释2:什么叫数据的物理结构?
答:物理结构亦称存储结构,是数据的逻 辑结构在计算机存储器内的表示(或映 像)。它依赖于计算机。
例:设有数据集合A={3, 4, 0, 8}
(1)缺一次实验 扣3 (2)缺一次作业扣1分; (3)缺勤(含请假)一次扣2分,缺6次(含实验)取消
考试资格; 加分项:每章的总结 ,交1次 + 2分; 平时成绩最多30分!
第1章 序 论
1.1 什么是数据结构 1.2 基本概念和术语 1.3 抽象数据类型的表示和实现 1.4 算法和算法分析
作业
亦可表示为:S=(D, R) 或 B=(K, R)
Q2:学习数据结构有什么用?
答:计算机内的数值运算依靠方程式,而非数值运
算(如表、树、图等)则要依靠数据结构。
这是一门研究非数值计算的程序设计问题中计算机的操 作对象以及它们之间的关系和操作等等的学科。
同样的数据对象,用不同的数据结构来表示, 运算效率可能有明显的差异。
关系
对象
数学
对象
关系
软件 硬件
关系
操作
操作
§1.2 基本概念和术语
讨论: Q1 什么是数据结构? Q2 学习数据结构有什么用? Q3 数据结构涵盖的主要内容?
数据(Data):是客观事物的符号表示。 在计算机科学中指的是所有能输入到计算机中并 被计算机程序处理的符号总称。
数据元素(Data Element):是数据的基本 单位,在程序中通常作为一个整体来进行考虑和 处理。
程序设计实质=好算法+好结构
解释1: 什么叫数据的逻辑结构?
答:指数据元素之间的逻辑关系。即从逻辑关系 上描述数据,它与数据的存储无关,是独立于 计算机的。
数据元素之间的关系可以是元素之间代表某种 含义的自然关系,也可以是为处理问题方便而 人为定义的关系,这种自然或人为定义的“关 系”称为数据元素之间的逻辑关系。
数据结构课程介绍
内容安排

内容
学时

内容
学时
1
序论
27

10
2
线性表
3
栈和队列
10
8
动态存储管理

89
查找
8
4

2
10
内部排序
6
5 数组和广义表
8
11
外部排序

6
树和二叉树
10 12
文件

注:本学期共64学时。
考核方式
闭卷考试,卷面 70% + 平时 30%; 平时成绩包含:实验(20分)、作业+考勤(10分); 平时成绩采用倒扣分方式:
脑,重1270公斤,有32个大脑(微处理器),每秒钟可以计 算2亿步。“更深的蓝”输入了一百多年来优秀棋手的对 局两百多万局。 • 1997 年 5 月 11 日,加里·卡斯帕罗夫以 2.5:3.5 输给 “更深的蓝”
13
14
15
Q3:《数据结构》课程介绍
介于数学、计算机硬件和计算机软件三 者之间的一门核心课程,不仅是一般程序 设计的基础,也是设计和实现编译程序、 操作系统、数据库系统及其他系统软件和 大型应用软件的重要基础。
一个数据元素可由若干个数据项(Data Item) 组成。数据项是数据的不可分割的最新单位。数 据项是对客观事物某一方面特性的数据描述。
数据对象(Data Object):是性质相同的数 据元素的集合,是数据的一个子集。如字符集合
Char = {‘A’, ‘B’, ‘C’,……}
数据 —— 包括数字、字符、声音、图像等信息 。 数据元素 —— 又称元素、结点,顶点、记录等。 数据项 —— 又称字段、域、属性 等。
数据结构在计算机内存中的存储包括 数据元素的存储和元素之间的关系的表 示。
解释2:什么叫数据的物理结构?
存储结构可分为4大类:顺序、链式、索引、散列
顺序存储结构:用数据元素在存储器中的相对位 置来表示数据元素之间的逻辑结构(关系)。
链式存储结构:在每一个数据元素中增加一个存 储另一个元素地址的指针,用该指针来表示数据 元素之间的逻辑结构(关系)。
§1.1 什么是数据结构
Q1 如何采用计算机解决问题? Q2 数据结构解决什么样的问题? Q3 《数据结构》课程介绍
Q1:如何采用计算机解决问题?
答:编写解决实际问题的程序的一般过程:
(1) 如何用数据形式描述问题? 从具体问题抽象出一个适当的数学模型;
(2) 问题所涉及的数据量大小及数据间的关系; (3) 如何在计算机中存储数据和体现数据间的
题中计算机的操作对象以及它们之间的关系 和操作等的学科。
8
• 图书检索系统、电话号码查询系统 • 人机对弈、家谱 • 交通灯管理系统
9
10
11
12
• 深蓝是美国IBM公司生产的一台超级国际象棋电脑。 • “深蓝”和卡斯帕罗夫曾于1996年交过手,结果卡斯帕罗
夫以4:2战胜了“深蓝”。 • “更深的蓝”是美国IBM公司生产的一台超级国际象棋电
三者之间的关系:数据 > 数据元素 > 数据项
例:班级通讯录 > 个人记录 > 姓名、年龄……
Q1:什么是数据结构?
答: (见教材P5) 是相互之间存在一种或多种特 定关系的数据元素的集合,表示为:
Data_Structure=(D, S)
(数值或非数值)
元素有限集 关系有限集
或:是指同一数据元素类中各元素之间存在的关系。
关系? (4) 处理问题时需要对数据做何种运算? (5) 所编写的程序的性能是否良好?
这些问题基本上是由数据结构这门课程来回答。
寻求数学模型的实质: 分析问题,从中提取操作的对象,并找出这些
操作对象之间含有的关系,然后用数学的语言加以 描述。
7
Q2:数据结构解决什么样的问题?
答: 数据结构研究非数值计算的程序设计问
相关文档
最新文档