数据结构 C++版 杨秀金 第1章 绪论-1新.pptVIP

  • 4
  • 0
  • 约4.39千字
  • 约 31页
  • 2018-01-01 发布于广东
  • 举报

数据结构 C++版 杨秀金 第1章 绪论-1新.ppt

数据结构(C++版) 课程基本要求 学分: 5 共计 16周 周学时:4(讲) +2(实验) 成绩构成: 考勤(到课堂听课) 10% 完成书面作业 10% 完成上机实验作业 10% 期末卷面考试 70% 第1章 绪论 为解决现实世界中某个复杂问题,设计一个高效适用的程序。需要解决怎样合理地组织数据、建立合适的数据结构,怎样设计适用的算法,以提高程序执行的时间效率和空间效率。“数据结构”就是在此背景下逐步形成、发展起来的。 本章分为二讲 第1讲 1.1 问题的引入 1. 2 数据结构的基本概念 1.3 抽象数据类型 数据结构 第1章 绪论 第1讲 1.1 问题的引入 1.1 问题的引入 1.2 数据结构的基本概念 1.2.1 计算机领域中的数据 1.2.1 计算机领域中的数据 3. 数据对象(Data Object) 是具有相同性质的数据元素的集合,是数据的一个子集。 例如:整数数据对象是集合 N={0,±1,±2,…}, 再如:字母字符数据对象是集合 C={′A′,′B′,…,′Z′}。 图1.1中的学籍表也可看成一个数据对象。 1.2.2 数据结构相关概念 1. 数据的逻辑结构(Data Structure) 是带有结构的数据元素的集合,它是指数据元素之间的相互关系,即数据的组织形式。把数据元素间的逻辑上的联系,称之为数据的逻辑结构, 如: 线性结构、树结构、图结构。 特点: 抽象关系,独立于计算机。 数据逻辑结构的形式化描述 数据结构的形式化描述是: Data Structure=(D,R) 其中,D代表数据对象,R代表数据关系。 例1.1 线性表结构 List?=?(D,R) D?=?{ ai | ai∈ ElemSet, i?=?1,2,…, n, n≥0} R?=?{ ai-1 ,ai | ai-1 ,ai∈D, i=2,3,…, n} 数据逻辑结构的形式化描述 例1.2 复数结构 Complex?=?(D,R) D?=?{ c1 ,c2 | c1 ,c2 ∈ float } R?=?{ c1 ,c2 } c1,c2分别代表复数的实部和虚部 其中,D代表数据对象,仅有两个实数; R代表数据关系,体现数据之间的逻辑结构; c1 ,c2分别代表复数的实部和虚部。 数据逻辑结构的形式化描述 1.2.2 数据结构相关概念 2. 数据的存储结构 数据的逻辑结构在计算机存储设备中的映象被称为数据的存储结构,也可说数据的存储结构是逻辑结构在计算机存储器里的实现,又称物理结构。依赖于计算机。 常见存储结构有: 顺序存储结构(顺序映象)、 链式存储结构(非顺序映象)。 顺序存储结构(顺序映象) 在计算机存储器里实现,又称物理结构。 链式存储结构(非顺序映象) 在计算机存储器里实现,又称物理结构。 1.3 抽象数据类型  1.3.1 数据类型(Date Type) 数据类型实质上是一组值的集合和定义在该集合之上的一组操作的总称。 数据类型(Data Type)是和数据结构密切相关的一个概念,它最早出现在高级语言中。例如:int key ;只需了解整数的加、减、乘法或取模运算的抽象特性,不必了解“位运算”细节。 1.3.2 抽象数据类型(ADT) 抽象数据类型(Abstract Date Type )是指基于一类逻辑关系的数据类型以及定义在这个类型之上的一组操作。 抽象数据类型与其在计算机内如何表示和实现无关。 抽象数据类型(ADT)和数据类型(Data Type)实质上是一个概念。整数类型就是一个ADT实例。 抽象数据类型的描述 一般格式: ADT name{ 数据对象:D={ …… } 数据关系:R={ …… } 基本操作:创建; 输出; 插入; 删除; 等等; } ADT name; 线性表的抽象数据类型描述: ADT Linear_list { 数据对象:D={ai | ai∈ ElemSet , i=1,2,…,n, n≥0 ;} 数据关系:R={ ai-1 ,ai | ai-1 ,ai∈≥D,

文档评论(0)

1亿VIP精品文档

相关文档