第一讲-数据结构基本概念
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
胜利
5
1
72
河源 3
4
长利 4
3 太华
2 1 桦南
发生疫情的五个村子
2020/7/15
v
5
1
3
v 5
7
2
3
24
1 v2
4
v
1v
4
3
村子联系网络图
13
快速送达疫苗
计算机处理的对象是图 元素间的关系是复杂的图形或网状关
系 施加于对象上的操作有查询、插入、
删除等
2020/7/15
14
2、数据结构研究的范畴
2020/7/15
22
1、数据与数据结构
数据:数据是信息的载体,是描述客观事 物的数、字符、以及所有能输入到计算机 中,被计算机程序识别和处理的符号的集 合。是计算机操作的对象的总称。
数据元素:是数据的基本单位,具有完整 确定的实际意义。在程序中常作为一个整 体进行考虑和处理。一个数据元素可由若 干个数据项组成。
ox ox
o
o
o
o
x xx
x
x o
xo xo ox
o
o
o
o
x
ox
x xx
o
o
o
o
o
o
x
2020/7/15
11
N皇后问题
计算机处理的对象是树形结构 元素间的关系是层次关系 施加于对象上的操作有查询、插入、
删除等
2020/7/15
12
已知五个村子发生了疫情,由一人将疫 苗送达到5个村庄。目标是寻找一条耗时 最少的路线。
数据结构
数据结构概述
数据结构基本概念
2020/7/15
滨州学院信息工程系
1
数据结构课程的地位
它是计算机专业及相关专业的核心课程之一, 是计算机及相关专业的重要骨干基础课程。
它针对非数值计算的程序设计问题,研究计算 机的操作对象以及它们之间的关系和操作。即 其研究目的是研究有效地组织和处理非数值类 型数据的理论、技术和方法。
上机 合计
学时 8 8 10
32 96
5
本节内容
数据结构讨论的范畴 数据结构中的基本概念
2020/7/15
6
一、数据结构讨论的范畴
Niklaus Wirth:
Algorithm + Data Structures = Programs
算法:
处理问题的策略
数据结构: 问题的数学模型
2020/7/15
由以上三个例子可见,描述这类非数 值计算问题的数学模型不再是数学方 程,而是诸如表、树、图之类的数据 结构。
因此,简单说来,数据结构是一门研 究非数值计算的程序设计问题中计算 机的操作对象以及它们之间的关系和 操作的学科。
2020/7/15
15
3、数据结构课程的特点
数据结构是介于数学、计算机硬件 和计算机软件之间的一门计算机科 学与技术专业的核心课程,是编译 原理、操作系统、数据库、人工智 能等课程的基础。
程序设计=好算法+好结构
2020/7/15
19
5、学习目标
对每个数据结构加强对存在代价与效益 的观念
掌握常用的数据结构——将常用的数据 结构放入你的工具包
理解怎样去衡量一个数据结构或程序的 代价
2020/7/15
20
6、怎样学习数据结构
重基础(牢固准确掌握)讲实际(实现、分析算法)
上课认真听讲、适当做好笔记,认真独立完成 作业
2020/7/15
23
数据项:是数据不可分割的最小单 位,是构成数据元素的项目。
数据对象:数据的子集。具有相同 性质的数据成员(数据元素)的集 合。
整数数据对象 N = { 0, 1, 2, … }
字母字符数据对象 C={ ‘A’,’B’,……‘Z’}
2020/7/15
24
数据结构:是相互之间存在一种或多种 特定关系的数据元素的集合
带结构的数据元素的集合
2020/7/15
25
常见的数据结构
线性结构
树形结构
图状结构
集合结构
2020/7/15
26
数据结构的表示
2)选择何种存储结构? ❖若把所有记录依次存储在一个数组中——采 用顺序存储结构
❖若采用指针链表——采用链式存储结构
2020/7/15
9
学生信息管理系统
计算机处理的对象是表 元素间的关系是线性关系 施加于对象上的操作常见有查询、插
入、删除等
2020/7/15
10
n皇后问题
o
oxo oxo
x o
2020/7/15
3
学时数:96(64学时授课+32学时上机)
教材:严蔚敏编著,数据结构(C语言版), 清华大学出版社
2020/7/15
4
内容安排
章 内 容 学时 章
1 绪论 4 7
2 线性表
8
8
3 栈和队列 8 9
4
串
4
5
数组与广义 表
6
6 树和二叉树 8
2020/7/15
内容 图 查找 排序
做好预习和及时复习;
课后需要多读教材和参考书,查看相关内容, 在理解基本内容的基础上,勤思考多练习
上机实验十分重要,一定要在上机前做好充分 准备,多采用不同的数据存储结构和不同的实 现算法解决同一个问题。
2020/7/15
21
二、数据结构中的基本概念
数据与数据结构 数据类型 抽象数据类型
2020/7/15
2
数据结构的核心研究内容Hale Waihona Puke Baidu
数据的逻辑结构、存储结构及它们之间的关 系和相应的基本操作运算的定义和实现。
教材围绕数据结构的三种基本结构:线性结 构(第2-5章)、树形结构(第6章)和图形 结构(第7章)展开讨论,研究解决如下问 题:一个具体问题的逻辑结构是什么?适宜 选用什么样的存储结构?采用什么样的操作 实现算法效率更高?
7
概括地说:
• 数据结构是一门讨论“描述现实世界 实体的数学模型(非数值计算)及其上的 操作在计算机中如何表示和实现”的 学科。
2020/7/15
8
1、问题举例
学生信息包括学号、姓名、性别、籍贯。建 立一个学生档案,要求:查找“王红”是否存在。
1)如何记录所有学生记录(及选择何种逻辑数 据结构)?
同时,数据结构技术也广泛应用 于信息科学、系统工程、应用数学 以及各种工程技术领域。
2020/7/15
16
数据结构课程特点(续)
数据结构课程集中讨论软件开发过程 中的设计阶段、同时涉及编码和分析 阶段的若干基本问题。此外,为了构 造出好的数据结构及其实现,还需考 虑数据结构及其实现的评价与选择。
因此,数据结构的内容包括三个层次 的五个“要素”,如下图所示:
2020/7/15
17
数据结构课程内容体系
方面 层次
抽象
数据表示 逻辑结构
数据处理 基本运算
实现 存储结构
算法
评价 不同结构的比较及算法分析
2020/7/15
18
4、学习的目的
计算机内的数值问题依靠方程,而非 数值问题(如表、树、图等)则要依 靠数据结构。