第2章-数据结构与算法-第1节-概述概要PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第 18 页
数据逻辑结构的描述方式
Data_Structure = {D, R}
其中,D 是某一数据对象,R 是该对象中 所有数据成员之间的关系的有限集合。一般表 现形式如下:
D={d1,d2,…,dn}
R={r1,r2,…,rm}
关键字:数据元素中可用于标识该数据元素的
某个分量(数据项)。通常用关键字区别不同
第2章 数据结构与算法
第1节 概述
一、数据结构讨论与研究的范畴 二、算法
学习内容与要求
• 学习和了解数据结构所研究的内容;掌握 数据的逻辑结构和存储结构的定义和基本 分类;
• 学习和掌握与数据结构有关的名词术语 (如数据、数据元素、数据对象、数据类 型、抽象数据类型ADT等等);
• 学习和了解算法的概念、特点以及算法的 评价标准。
第 10 页
若干名词术语
• 数据(data) • 数据元素(data element) • 数据项(data item) • 数据对象(data object) • 数据结构(data structure) • 数据类型(data type) • 抽象数据类型(ADT)
第 11 页
数据(data)
数据是信息的载体,是描述客观 事物的数、字符以及所有能输入 到计算机中、被计算机程序识别 和处理的符号的集合。 数值性数据 非数值性数据
第 12 页
数据元素 (data element)和 数据项(data item)
• 数据元素是数据的基本单位。在计算 机程序中常作为一个整体进行考虑和 处理。数据元素又可称为元素、结点、 记录。
的数据元素。
第 19 页
D={01,02,03,04,05,06,07,08,09,10}
R1={<08,05>,<05,02>,<02,01>,<01,03>,<03,09>,<09,04>,<04,06>,<06,10>, <10,07>}
R2={<01,02>,<01,05>,<01,08>,<02,03>,<02,04>,<05,06,>,<05,07>,<08,09>, <08,10>}
课程编号 024002 024016 024002 024016 024024
成绩 82 90 85 76 89
时间 06.6.10 06.6.15 06.6.10 06.6.15 06.6.13
学生
wk.baidu.com
98164 98165
024002 024016 024024
课程
第7页
“选课”数据包含如下信息:
第5页
“课程”数据
课程编号 课 程 名
学时
024002 程序设计基础
64
024010 汇编语言
48
024016 计算机原理
64
024020 数据结构
64
024021 微机技术
64
024024 操作系统
48
024026 数据库原理
48
第6页
“选课”数据
学号 98164 98164 98165 98165 98165
第2页
Data Structures + Algorithms = Programs ——Nicklaus Wirth
程 序: 利用计算机语言编制的一组 具有确定功能的指令集合。
数据结构: 问题或对象的数学模型(如 何描述数据的外部表现形式 和内部存储结构)。
算 法: 处理问题的策略。
第3页
一、数据结构 研究和讨论的范畴
学号 课程编号 成绩 时间
学生选课系统中“学生”和“课程”这两个
实体构成了网状(图状)关系(即“选课”关
系)。
学生 (学号,姓名,性别,籍贯)
课程 (课程号,课程名,学分)
选课 (学号,课程号,成绩)
第8页
UNIX文件系统的系统结构图
/ (root)
bin
lib
user
etc
math ds sw
lin tao xie
R3={<01,04>,<04,01>,<01,05>,<05,01>,<01,08>,<08,01>,<04,07>,<07,04>, <05,06>,<06,05>,<06,04>,<04,06>,<05,08>,<08,05>,<06,09>,<09,06>,<0 9,02>,<02,09>,<08,10>,<10,08>,<04,03>,<03,04>}
• 有时一个数据元素可以由若干数据项 (data item)组成。数据项是具有独 立含义的最小标识单位。
第 13 页
数据对象 (data object)
• 具有相同性质的数据成员(数据 元素)的集合,数据的子集 。例: 整数数据对象
N = { 0, 1, 2, … } 学生数据对象 • 有穷集和无穷集
Queue.cpp Stack.cpp Tree.cpp
第9页
数据结构的研究内容
综合上述例子可见,描述这类非数值 计算问题的数学模型不再是数学方程,而 是诸如表、树和图之类的数据结构。
简单地说,作为一门学科,数据结构 主要研究非数值计算的程序设计问题当中 计算机的操作对象(数据)以及它们之间 的关系(逻辑结构和物理结构)和操作 (算法实现)。
第 14 页
什么是数据结构
定义: 由某一数据对象及该对象中所有数据成
员之间的关系组成。 与“数据对象”这一概念的区别? 作为术语名词和作为学科名词的区别?
第 15 页
➢作为学科,数据结构研究数据的组织 形式,包括以下内容:
数据元素间的逻辑关系,即数据的逻 辑结构。
数据元素及其关系在计算机存储内的 表示,即数据的存储表示(物理结构、 物理表示)。
第4页
学号
1 98131 2 98164 3 98165 4 98182 5 98224 6 98236 7 98297 8 98310 9 98318
“学生”数据
姓名 刘激扬 衣春生 卢声凯 袁秋慧 洪伟 熊南燕 宫力 蔡晓莉 陈健
性别 籍 贯 出生年月 男 北 京 1979.12 男 青 岛 1979.07 男 天 津 1981.02 女 广 州 1980.10 男 太 原 1981.01 女 苏 州 1980.03 男 北 京 1981.01 女 昆 明 1981.02 男 杭 州 1979.12
数据的运算,即对数据元素施加的操 作。
第 16 页
数据的逻辑结构
数据的逻辑结构从数据的逻辑关系 上描述数据,与数据的存储无关, 与数据元素本身的具体形式、内容 无关。 数据的逻辑结构可以看作是从具体 问题抽象出来的数据模型。
第 17 页
数据的逻辑结构可归结为以下四类:
集合结构:简单隶属关系 线性结构:一对一关系 树形结构:一对多关系 图状结构:多对多关系
数据逻辑结构的描述方式
Data_Structure = {D, R}
其中,D 是某一数据对象,R 是该对象中 所有数据成员之间的关系的有限集合。一般表 现形式如下:
D={d1,d2,…,dn}
R={r1,r2,…,rm}
关键字:数据元素中可用于标识该数据元素的
某个分量(数据项)。通常用关键字区别不同
第2章 数据结构与算法
第1节 概述
一、数据结构讨论与研究的范畴 二、算法
学习内容与要求
• 学习和了解数据结构所研究的内容;掌握 数据的逻辑结构和存储结构的定义和基本 分类;
• 学习和掌握与数据结构有关的名词术语 (如数据、数据元素、数据对象、数据类 型、抽象数据类型ADT等等);
• 学习和了解算法的概念、特点以及算法的 评价标准。
第 10 页
若干名词术语
• 数据(data) • 数据元素(data element) • 数据项(data item) • 数据对象(data object) • 数据结构(data structure) • 数据类型(data type) • 抽象数据类型(ADT)
第 11 页
数据(data)
数据是信息的载体,是描述客观 事物的数、字符以及所有能输入 到计算机中、被计算机程序识别 和处理的符号的集合。 数值性数据 非数值性数据
第 12 页
数据元素 (data element)和 数据项(data item)
• 数据元素是数据的基本单位。在计算 机程序中常作为一个整体进行考虑和 处理。数据元素又可称为元素、结点、 记录。
的数据元素。
第 19 页
D={01,02,03,04,05,06,07,08,09,10}
R1={<08,05>,<05,02>,<02,01>,<01,03>,<03,09>,<09,04>,<04,06>,<06,10>, <10,07>}
R2={<01,02>,<01,05>,<01,08>,<02,03>,<02,04>,<05,06,>,<05,07>,<08,09>, <08,10>}
课程编号 024002 024016 024002 024016 024024
成绩 82 90 85 76 89
时间 06.6.10 06.6.15 06.6.10 06.6.15 06.6.13
学生
wk.baidu.com
98164 98165
024002 024016 024024
课程
第7页
“选课”数据包含如下信息:
第5页
“课程”数据
课程编号 课 程 名
学时
024002 程序设计基础
64
024010 汇编语言
48
024016 计算机原理
64
024020 数据结构
64
024021 微机技术
64
024024 操作系统
48
024026 数据库原理
48
第6页
“选课”数据
学号 98164 98164 98165 98165 98165
第2页
Data Structures + Algorithms = Programs ——Nicklaus Wirth
程 序: 利用计算机语言编制的一组 具有确定功能的指令集合。
数据结构: 问题或对象的数学模型(如 何描述数据的外部表现形式 和内部存储结构)。
算 法: 处理问题的策略。
第3页
一、数据结构 研究和讨论的范畴
学号 课程编号 成绩 时间
学生选课系统中“学生”和“课程”这两个
实体构成了网状(图状)关系(即“选课”关
系)。
学生 (学号,姓名,性别,籍贯)
课程 (课程号,课程名,学分)
选课 (学号,课程号,成绩)
第8页
UNIX文件系统的系统结构图
/ (root)
bin
lib
user
etc
math ds sw
lin tao xie
R3={<01,04>,<04,01>,<01,05>,<05,01>,<01,08>,<08,01>,<04,07>,<07,04>, <05,06>,<06,05>,<06,04>,<04,06>,<05,08>,<08,05>,<06,09>,<09,06>,<0 9,02>,<02,09>,<08,10>,<10,08>,<04,03>,<03,04>}
• 有时一个数据元素可以由若干数据项 (data item)组成。数据项是具有独 立含义的最小标识单位。
第 13 页
数据对象 (data object)
• 具有相同性质的数据成员(数据 元素)的集合,数据的子集 。例: 整数数据对象
N = { 0, 1, 2, … } 学生数据对象 • 有穷集和无穷集
Queue.cpp Stack.cpp Tree.cpp
第9页
数据结构的研究内容
综合上述例子可见,描述这类非数值 计算问题的数学模型不再是数学方程,而 是诸如表、树和图之类的数据结构。
简单地说,作为一门学科,数据结构 主要研究非数值计算的程序设计问题当中 计算机的操作对象(数据)以及它们之间 的关系(逻辑结构和物理结构)和操作 (算法实现)。
第 14 页
什么是数据结构
定义: 由某一数据对象及该对象中所有数据成
员之间的关系组成。 与“数据对象”这一概念的区别? 作为术语名词和作为学科名词的区别?
第 15 页
➢作为学科,数据结构研究数据的组织 形式,包括以下内容:
数据元素间的逻辑关系,即数据的逻 辑结构。
数据元素及其关系在计算机存储内的 表示,即数据的存储表示(物理结构、 物理表示)。
第4页
学号
1 98131 2 98164 3 98165 4 98182 5 98224 6 98236 7 98297 8 98310 9 98318
“学生”数据
姓名 刘激扬 衣春生 卢声凯 袁秋慧 洪伟 熊南燕 宫力 蔡晓莉 陈健
性别 籍 贯 出生年月 男 北 京 1979.12 男 青 岛 1979.07 男 天 津 1981.02 女 广 州 1980.10 男 太 原 1981.01 女 苏 州 1980.03 男 北 京 1981.01 女 昆 明 1981.02 男 杭 州 1979.12
数据的运算,即对数据元素施加的操 作。
第 16 页
数据的逻辑结构
数据的逻辑结构从数据的逻辑关系 上描述数据,与数据的存储无关, 与数据元素本身的具体形式、内容 无关。 数据的逻辑结构可以看作是从具体 问题抽象出来的数据模型。
第 17 页
数据的逻辑结构可归结为以下四类:
集合结构:简单隶属关系 线性结构:一对一关系 树形结构:一对多关系 图状结构:多对多关系