数据结构(长安大学)讲课11PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
.
4.数据对象(data object)——
由性质相同(类型相同)的数据元素组成的集合。 数据对象是数据的一个子集。
例1 由4个整数组成的数据对象 D1={20,-30,88,45}
例2 由正整数组成的数据对象 D2={1,2,3,...}
例3 由26个字母组成的数据对象 D3={A,B,C,...,Z}
2.数据结构的存储结构与实现(顺序存储和链式存储结构) 选择存储结构,设计算法
3.查找算法:顺序,折半,分块,哈希,二叉排序树等 4.排序算法:内部排序,外部排序 5.文件(存在外存上的表) 6.基本应用与综合应用
注:第8章和带**号的章节自主学习。
.
基本要求
1.精读教材与阅读参考书; 2.完成一定数量的书面作业; 3.使用C或C++完成5个以上的上机作业 。
5. 《数据结构》知识点与典型例题解析 杨明等 清华大学出版社 2005.9
6. 任一本C语言教程(看基础部分),任一本操作系统教程(看存储管理一章)
.
本课程的任务
1.基本数据结构的定义、特性、运算与算法 1.1 线性结构:线性表;栈,队列,双队列(操作受限的线性表);数组,串 (线性表的高级语言表示)。 1.2 非线性结构:树,二叉树;图,网络。
.
数据结构
---------------------------------------------
.
第一章 绪论
▪ 1.1 什么是数据、结构(关系)、数据结构? ▪ 1.2 基本概念和术语 ▪ 1.3 算法和算法分析
.
第一章 概 述
1.1什么是数据、结构(关系)、数据结构? 例1 5个整数组成的集合:
.
例4 二叉树 T
A
BD
C
E
FG
其中:A、B、C等是结点(node); A与B, B与C, A与D之间是层次 关系或父子关系。
.
例5 无向图G
A G
B
D
C
E
F
其中:A、B、C 等是顶点(vertex), 图中任意两个顶点之间都可能有关系。
.
1.2 基本概念和术语
1.数据(data) ---所有能输入到计算机中并被计算机程序加工、处理
其中:D1,D3是有穷集,D2是无穷集。
5.抽象数据对象 ElemSet={某种同类型的数据元素}
.
6.数据结构(data structure)---相互之间存在一种或多种特定关系的数据元素的集合。 数据元素之间的关系称为结构。 四类基本结构:
集合
线性结构
树形结构
.
图状结构
数据结构(逻辑结构)分类
数据结构
教师:杨云 班级:24020803/04 学院:长安大学信息工程学院 地址:WM1506 Email:yangwmy@yahoo.com.cn
.
课堂要求
▪ 1 按照学号坐,手机振动 ▪ 2 写学习计划(考试,考研,编程) ▪ 3 统一尺寸作业本 ▪ 4 考试严禁作弊,发现后本课程成绩记0
.
a是一维数组 (2)非顺序存储结构(链接表)
例. 单链表
data next ┌─┬┐ ┌─┬┐ ┌─┬┐ ┌─┬─┐ Head ─→│A │┼→│B │┼→│C │┼→│D │^ │ └─┴┘ └─┴┘ └─┴┘ └─┴─┘
4个结点的单链表
.
8.数据类型(data type)--是一个值的集合和定义在这个值上的一组操作的总称。 (1)原子类型(如:int,char,float等) (2)结构类型(如:数组,结构,联合体等)
线性结构 数据结构
1.线性表 2.栈 3.队列,双队列 4.数组 5.字符串
非线性 结构
1.树,二叉树 2.图
.
7.存储结构 ----
数据结构在计算机存储器中的映象(mapping)。 存储结构也称为:存储表示,物理结构,物理表示。 (1)顺序存储结构(向量,一维数组)
例. char a[5]={'A','B','C','D'}; ABCDE 01234
的符号的总称。 如:整数、实数、字符、声音、图象、图形等。
2.数据元素(data element)--数据的基本单位。(元素、记录、结点、顶点) 在计算机程序中通常作为一个整体进行考虑和处理。
3.数据项(data item)---是数据的不可分割的最小单位。如:姓名、年龄等 一个数据元素可由一个或多个数据项组成。 如: (姓名、年龄)
例.求a[0..n-1]中n个数的平均值(假定n>0)。
float average(float a[ ],int n)
{ int i;float s=0.0; //累加器赋初值
for (i=0;i<n;i++)
s=s+a[i];
‹‹数据结构››教材与参考书
1.《数据结构》(C语言版) 严蔚敏等 清华大学出版社 2009.7
2.《数据结构算法-Visual C++6.0程序集》 侯识忠等 中国水利水电出版社 2005.5
3.《数据结构课程辅导与习题解析》 胡元义等 人民邮电出版社 2003.3
4. 《数据结构》算法实现及解析 高一凡等 清华大学出版社 2008.7
9.抽象数据类型(Abstract Data Type)---与计算机的实现无关的数据类型。 形式定义: ADT 抽象数据类型名 { 1.数据对象; 2.数据关系:一个或多个关系; 3.一组基本操作/运算 } ADT 抽象数据类型名
注意:ElemType是抽象元素类型. 。
1.3 算法和算法分析
1.算法----求解一个特定任务的指令的有限序列。
D={20,-5,66, 15,44} 其中:20,-5,66等称为数据元素(元素),
元素与元素之间关系是它们同属于集合D。 D={20,-5,66,15,44}是一个数据对象
例2 一列整数: L=(20,-5,66, 15,44)
其中:元素与元素之间在L中是前后关系或线性关系。 L=(20,-5,66,15,44)是一个线性表。
.
源自文库
例3 一张登记表DL
序号 1 2 3 4
姓名 李刚 王霞 刘大海 李爱林
性别年龄 男 25 女 29 男 40 男 44
记录1 记录2 记录3 记录4
其中:姓名、性别、年龄是数据项(item)、数据域(field); (姓名,性别,年龄)是记录(record), C语言将"记录"(record)定义为”结构”(struct); 登记表也是一个线性表。
4.数据对象(data object)——
由性质相同(类型相同)的数据元素组成的集合。 数据对象是数据的一个子集。
例1 由4个整数组成的数据对象 D1={20,-30,88,45}
例2 由正整数组成的数据对象 D2={1,2,3,...}
例3 由26个字母组成的数据对象 D3={A,B,C,...,Z}
2.数据结构的存储结构与实现(顺序存储和链式存储结构) 选择存储结构,设计算法
3.查找算法:顺序,折半,分块,哈希,二叉排序树等 4.排序算法:内部排序,外部排序 5.文件(存在外存上的表) 6.基本应用与综合应用
注:第8章和带**号的章节自主学习。
.
基本要求
1.精读教材与阅读参考书; 2.完成一定数量的书面作业; 3.使用C或C++完成5个以上的上机作业 。
5. 《数据结构》知识点与典型例题解析 杨明等 清华大学出版社 2005.9
6. 任一本C语言教程(看基础部分),任一本操作系统教程(看存储管理一章)
.
本课程的任务
1.基本数据结构的定义、特性、运算与算法 1.1 线性结构:线性表;栈,队列,双队列(操作受限的线性表);数组,串 (线性表的高级语言表示)。 1.2 非线性结构:树,二叉树;图,网络。
.
数据结构
---------------------------------------------
.
第一章 绪论
▪ 1.1 什么是数据、结构(关系)、数据结构? ▪ 1.2 基本概念和术语 ▪ 1.3 算法和算法分析
.
第一章 概 述
1.1什么是数据、结构(关系)、数据结构? 例1 5个整数组成的集合:
.
例4 二叉树 T
A
BD
C
E
FG
其中:A、B、C等是结点(node); A与B, B与C, A与D之间是层次 关系或父子关系。
.
例5 无向图G
A G
B
D
C
E
F
其中:A、B、C 等是顶点(vertex), 图中任意两个顶点之间都可能有关系。
.
1.2 基本概念和术语
1.数据(data) ---所有能输入到计算机中并被计算机程序加工、处理
其中:D1,D3是有穷集,D2是无穷集。
5.抽象数据对象 ElemSet={某种同类型的数据元素}
.
6.数据结构(data structure)---相互之间存在一种或多种特定关系的数据元素的集合。 数据元素之间的关系称为结构。 四类基本结构:
集合
线性结构
树形结构
.
图状结构
数据结构(逻辑结构)分类
数据结构
教师:杨云 班级:24020803/04 学院:长安大学信息工程学院 地址:WM1506 Email:yangwmy@yahoo.com.cn
.
课堂要求
▪ 1 按照学号坐,手机振动 ▪ 2 写学习计划(考试,考研,编程) ▪ 3 统一尺寸作业本 ▪ 4 考试严禁作弊,发现后本课程成绩记0
.
a是一维数组 (2)非顺序存储结构(链接表)
例. 单链表
data next ┌─┬┐ ┌─┬┐ ┌─┬┐ ┌─┬─┐ Head ─→│A │┼→│B │┼→│C │┼→│D │^ │ └─┴┘ └─┴┘ └─┴┘ └─┴─┘
4个结点的单链表
.
8.数据类型(data type)--是一个值的集合和定义在这个值上的一组操作的总称。 (1)原子类型(如:int,char,float等) (2)结构类型(如:数组,结构,联合体等)
线性结构 数据结构
1.线性表 2.栈 3.队列,双队列 4.数组 5.字符串
非线性 结构
1.树,二叉树 2.图
.
7.存储结构 ----
数据结构在计算机存储器中的映象(mapping)。 存储结构也称为:存储表示,物理结构,物理表示。 (1)顺序存储结构(向量,一维数组)
例. char a[5]={'A','B','C','D'}; ABCDE 01234
的符号的总称。 如:整数、实数、字符、声音、图象、图形等。
2.数据元素(data element)--数据的基本单位。(元素、记录、结点、顶点) 在计算机程序中通常作为一个整体进行考虑和处理。
3.数据项(data item)---是数据的不可分割的最小单位。如:姓名、年龄等 一个数据元素可由一个或多个数据项组成。 如: (姓名、年龄)
例.求a[0..n-1]中n个数的平均值(假定n>0)。
float average(float a[ ],int n)
{ int i;float s=0.0; //累加器赋初值
for (i=0;i<n;i++)
s=s+a[i];
‹‹数据结构››教材与参考书
1.《数据结构》(C语言版) 严蔚敏等 清华大学出版社 2009.7
2.《数据结构算法-Visual C++6.0程序集》 侯识忠等 中国水利水电出版社 2005.5
3.《数据结构课程辅导与习题解析》 胡元义等 人民邮电出版社 2003.3
4. 《数据结构》算法实现及解析 高一凡等 清华大学出版社 2008.7
9.抽象数据类型(Abstract Data Type)---与计算机的实现无关的数据类型。 形式定义: ADT 抽象数据类型名 { 1.数据对象; 2.数据关系:一个或多个关系; 3.一组基本操作/运算 } ADT 抽象数据类型名
注意:ElemType是抽象元素类型. 。
1.3 算法和算法分析
1.算法----求解一个特定任务的指令的有限序列。
D={20,-5,66, 15,44} 其中:20,-5,66等称为数据元素(元素),
元素与元素之间关系是它们同属于集合D。 D={20,-5,66,15,44}是一个数据对象
例2 一列整数: L=(20,-5,66, 15,44)
其中:元素与元素之间在L中是前后关系或线性关系。 L=(20,-5,66,15,44)是一个线性表。
.
源自文库
例3 一张登记表DL
序号 1 2 3 4
姓名 李刚 王霞 刘大海 李爱林
性别年龄 男 25 女 29 男 40 男 44
记录1 记录2 记录3 记录4
其中:姓名、性别、年龄是数据项(item)、数据域(field); (姓名,性别,年龄)是记录(record), C语言将"记录"(record)定义为”结构”(struct); 登记表也是一个线性表。