数据结构(C语言版)第1章绪论.ppt
《数据结构(C语言版)第1章绪论.ppt》由会员分享,可在线阅读,更多相关《数据结构(C语言版)第1章绪论.ppt(59页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据结构第一章绪论数据结构(C语言版)Data Structure主讲教师鄂寒梅E-mail:数据结构第一章绪论学分:3 总学时:64 教材:数据结构(C语言版)严蔚敏、吴伟民-清华大学出版社 数据结构题集(C语言版)严蔚敏、吴伟民-清华大学出版社数据结构第一章绪论v编程基础v考研课程v计算机等级考试课程v程序员考试课程课程重要性数据结构第一章绪论本课程的体系结构 第一章绪论 介绍数据、数据结构和抽象数据类型的概念。第二章第七章基本数据结构 从抽象数据类型的角度,分别讨论线性表、栈和队列、串、数组和广义表、树、图等基本数据结构及其应用。第八章动态存储管理 介绍操作系统和编译程序中涉及的 动态存
2、储管理的基本技术。数据结构第一章绪论 第九章第十一章查找和排序 介绍了各种实现方法,并着重从时间上进行定性或定量的分析和比较。第十二章文件结构 介绍数据库系统中组织文件的常用方法。数据结构第一章绪论内容安排章 内容 学时 章 内容 学时1序论2 7图82线性表8 8动态存储管理略3栈和队列8 9查找84串8 10内部排序85数组和广义表8 11外部排序略6树和二叉树8 12文件略数据结构第一章绪论 总评成绩(100分)期末考试(60%)平时成绩(40%)课堂考勤上机演示作业课堂测验数据结构第一章绪论数据结构第一章绪论1、数据结构基本概念数据、数据元素、数据对象、数据结构和抽象数据类型等概念。2
3、、算法及算法分析性能分析与度量:算法的性能标准;空间复杂度度量;时间复杂度度量。教学内容数据结构第一章绪论占据了当今计算机应用的绝大多数。数值计算:加工处理的对象纯粹的数值。非数值计算计算机应用工业检测过程控制管理系统文字处理加工处理的对象字符表格图象声音具有一定的结构 逻辑结构存储结构算法有效地组织计算机存储研究对象的特性及其相互之间的关系有效地实现对象之间的“运算”关系 数据结构的研究内容 为什么要学数据结构?数据结构第一章绪论1.1什么是数据结构抽象数学模型 计算机解题步骤设计算法 编程、调试、运行 分析问题 提取操作对象 操作对象 找出操作对象之间的关系 操作对象之间的关系 用数学语言
4、描述 数据结构 数据结构第一章绪论例1:计算机电话号码查询系统。法学系8523101国贸系8522105工商系8523150计算机系8521088会计系8525789统计系85281368521088计算机系8522105国贸系8523101法学系8523150工商系8525789会计系8528136统计系算法:查询、插入、修改、删除 线性结构 线性表 操作对象:单位名,号码关系:线性关系数据结构第一章绪论例2:计算机和人对弈问题。非线性结构 树 操作对象:格局(棋盘状态)关系:非线性关系(由比赛规则决定)数据结构第一章绪论例3、多叉路口交通灯的管理问题。在多叉路口需设几种颜色的交通灯才能使车
5、辆相互之间不碰 相互之间不碰撞 撞,又能达到最大流通量 达到最大流通量。ABCDE非线性结构 图 操作对象:通路关系:非线性关系(由问题的要求决定)ABACADBADCEDBC BDDADBEAEBEC数据结构第一章绪论程序设计的实质 实质是对实际问题选择一种好的数据结构,加之设计一个好的算法。瑞士著名的计算机科学家、Pascal语言发明者沃思(N.Wirth)教授提出:数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象 操作对象以及它们之间的关系 关系和运算 运算的一门学科。数据结构是问题的数学模型。算法(解决问题的方法)处理的对象就是数据。算法与数据的结构密切相关,算法无不依附于
6、具体的数据结构,数据结构直接关系到算法的选择和效率。要想有效地使用计算机,就必须学习数据结构。要想有效地使用计算机,就必须学习数据结构。程序=算法+数据结构数据结构第一章绪论数据结构的发展史“数据结构”作为一门独立的课程在国外是从1968 1968年才开始设立的,由美国唐欧克努特教授开创其最初体系,他所著的计算机程序设计技巧第一卷基本算法是第一本较系统地阐述数据的逻辑结构和存储结构及其操作的著作。我国于1978 1978年开设本课程。数据结构第一章绪论数据结构的地位 1、数据结构在计算机科学中是一门综合性的专业基础课。2、数据结构是介于数学、计算机硬件和计算机软件三者之间的一门核心课程。3、数
7、据结构这一门课的内容不仅是一般程序设计(特别是非数值计算的程序设计)的基础,而且是设计和实现编译程序、操作系统、数据库系统及其他系统程序和应用程序的重要基础。数据结构第一章绪论是对信息的一种符号表示人们利用文字符号、数字符号以及其他规定的符号对现实世界的事物及其活动所做的描述。数据 数据(Data)(Data)1.2基本概念和术语在计算机科学中是指所有能输入到计算机中并被计 算机程序处理的符号的总称包括 数值型数据 数值型数据和非数值型数据 非数值型数据(包括文字、表格、图象、声音等,都称为 数据 数据)。它是计算机操作对象的总称。数据是个集合,可用集合的表示方法来写:数据=x|x 是计算机操
8、作的对象数据结构第一章绪论数据元素 数据元素(DataElement)(DataElement):(也称结点 也称结点)是数据(集合)中的一个“个体”,是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。数据项 数据项(dataitem)(dataitem):是数据结构中讨论的“最小单位”。两类数据元素 不可分割的“原子 原子”型数据元素如:整数“5”,字符“N”等;由多个款项构成的数据元素,其中每个款项被称为一个“数据项 数据项”。如描述一个学生的信息的数据元素可由3个数据项 数据项组成。其中的出生日期又可以由三个数据项:“年”、“月”和“日”组成,则称“出生日期”为“组合项”,
9、而其它不可分割的数据项为“原子项”。姓名出生日期 成绩年 月 日数据结构第一章绪论数据对象 数据对象(DataObject)(DataObject):是性质相同的数据元素的集合。是数据的一个子集。例:整数数据对象的集合可表示为N=0,1,2,,字母字符数据对象的集合可表示为C=A,B,Z。数据结构 数据结构(DataStructure)(DataStructure):是相互之间存在一种或多种特定关系的数据元素的集合。结构:结构:数据元素之间的相互关系。数据结构第一章绪论 意为x和y之间存在“x 领先于y”的次序关系。长整数“321465879”可用a1=321,a2=465和a3=879的集合
10、表示,且三者之间的次序关系必须是,a1表示最高3位,a3表示最低的3位,a2则是中间3位。例:假设以三个3位的十进制数表示一个含9位十进制数的“长整数”,则可用如下描述的数学模型表示:它是一个含三个数据元素a1,a2,a3的集合,且在集合上存在下列次序关系:,。数据结构第一章绪论四类基本结构集合:数据元素除了 同属于一种类型 同属于一种类型 外,别无其它关系。线性结构:一对一 一对一。树型结构:一对多 一对多。图状结构或网状结构:多对多 多对多。数据结构第一章绪论数据结构的形式定义:数据结构是一个二元组:Data-Structure=(Data-Structure=(DD,SS)其中:D是数据
11、元素的有限集,S是D上关系的有限集。数据结构第一章绪论例1-4:复数的数据结构:Complex=(Complex=(C C,R R)其中:C是含两个实数的集合c1,c2,分别表示复数的实部和虚部。R=P,P是定义在集合C 上的一种关系。例 1-5:科研课题小组的数据结构:Group=(Group=(D D,R R)其中:D=T,G1,Gn,S11,Snm1 n 3,1 m 2,R=R1,R2,R1=|1 i n,1 n 3 R2=|1 i n,1 j m,1 n 3,1 m 2操作对象的数学模型 逻辑结构(logicalstructure)指数据元素之间抽象化的相互关系。独立于计算机,是数据本
12、身所固有的。独立于计算机,是数据本身所固有的。TG1G2G3S11S12S21S22S31S32数据结构第一章绪论物理结构:物理结构:数据的逻辑结构在计算机中的存储形式(映象)。存储结构 存储结构(StorageStructure)StorageStructure)必须依赖于计算机。位串 位串:n位的组合。位 位(bit)(bit):二进制数的一位。计算机中表示信息的最小单位。元素 元素(element)(element):计算机中用来存储数据元素的一个位串,结点 结点(node)(node)即数据元素在计算机中的映象。数据域 数据域(datafield)(datafield):当数据元素由若
13、干数据项组成时,位串中对应于各个数据项的子位串。例:十进制数值321可用位串101000001表示,字母“A”可用位串01000001表示。数据结构第一章绪论数据结构在计算机中的表示方法 顺序映象 非顺序映象 顺序存储结构链式存储结构用元素在存储器中的相对位置来表示数据元素之间的逻辑关系。在每一个数据元素中增加一个存放地址的指针(pointer),用此指针来表示数据元素之间的逻辑关系。03003.00302-2.30632-0.706344.8复数顺序存储结构0415-2.306113.006130415复数链式存储结构 数据结构第一章绪论作业:1.1选择题部分1、组成数据的基本单位是()(A
14、)数据项(B)数据类型(C)数据元素(D)数据变量2、数据结构研究数据的()以及它们之间的相互关系。(A)理想结构,物理结构(B)理想结构,抽象结构(C)物理结构,逻辑结构(D)抽象结构,逻辑结构3、在数据结构中,从逻辑上可以把数据结构分成()(A)动态结构和静态结构(B)紧凑结构和非紧凑结构(C)线性结构和非线性结构(D)内部结构和外部结构填空题 1.数据逻辑结构包括()、()和()三种类型,树形结构和图形结构合称为()。2.线性结构中元素之间存在()关系,树形结构中元素之间存在()关系,图形结构中元素之间存在()关系。数据结构第一章绪论数据类型:(datatype)数据类型是一组性质相同的
15、值的集合以及定义于这个值集合 上的一组操作的总称。值的集合 值的集合+值集合上的一组操作 值集合上的一组操作 例如,C语言中的int型变量,是指由-32768到32767范围中的值构成的集合及一组操作(加、减、乘、除、乘方等)的总称。而Unsignedint型变量,则是指由0到65535范围中的值构成的集合及一组操作(加、减、乘、除、乘方等)的总称。约束变量或常量的取值范围 取值范围,约束变量或常量的操作 操作。在用高级程序设计语言编写的程序中,必须对程序中出现的每个变量、常量或表达式,明确说明它们所属的数据类型。例如,C 语言中的基本数据类型有:整型、字符型、实型(包括单精度型和双精度型)及
16、枚举型。数据类型的作用数据结构第一章绪论数据类型的作用是解释计算机内存中信息含义的一种手段。实现了信息的 实现了信息的隐蔽,将用户不,将用户不 必了解的细节 必了解的细节封装在类型中。在类型中。抽象特性 强调的是其所能完成的功能以及它和外部用户的接口(即外界使用它的方法)。所有高级语言中都有“整型”数据类型,它们的实现方法可以各自不同,但对程序员而言,它们是“相同”的。程序员使用它们时仅需了解它们的数学特性 数学特性,而不需要了解它们在语言中是如何实现的。换句话说,各种语言中实现的是同一个“整数类型”,而这个“整数类型”的定义仅对“整数的数学特性”有明确规定。01000001int:65(十进
17、制数)char:A数据结构第一章绪论抽象数据类型 抽象数据类型(AbstractDataType(AbstractDataType,简称,简称ADT)ADT):数学模型+定义在该模型上的一组操作。数据结构+定义在此结构上的一组操作。ADT ADT抽象数据类型名 抽象数据类型名数据对象:数据对象的定义数据关系:数据关系的定义基本操作:基本操作的定义 ADT 抽象数据类型名抽象数据类型(AbstractDataType)的描述方法:抽象数据类型可用(D,S,P)三元组表示,其中,D是数据对象,S 是D上的关系集,P是对D的基本操作集。用伪码(不真正执行的符号)描述数据结构第一章绪论基本操作的定义格
18、式:赋值参数:只为操作提供输入值;引用参数:以&打头,除了可提供输入值外,还将返回操作结果。描述操作执行之前数据结构和参数应满足的条件,若不满足,则操作失败,并返回相应出错信息。说明操作正常完成之后,数据结构的变化状况和应返回的结果。基本操作名(参数表)基本操作名(参数表)初始条件:初始条件描述操作结果:操作结果描述数据结构第一章绪论例:抽象数据类型“复数”的定义ADTComplex数据对象:D=e1,e2|e1,e2 RealSet基本操作:InitComplex(&Z,v1,v2)操作结果:构造复数Z,其实部和虚部分别被赋以参数v1和v2的值。DestroyComplex(&Z)初始条件:
19、复数Z已存在。操作结果:复数Z被销毁。GetReal(Z,&realPart)初始条件:复数Z已存在。操作结果:用realPart返回Z的实部值。GetImag(Z,&ImagPart)初始条件:复数Z已存在。操作结果:用ImagPart返回Z的虚部值。Add(Z1,Z2,&sum)初始条件:Z1,Z2是复数。操作结果:用sum返回z1,z2的和值。ADTComplex数据关系:R1=|e1是复数的实部,e2是复数的虚部用两个实数来表示复数,将复数定义为两个实数的有序对,并约定实部是前驱,虚部是后继。数据结构第一章绪论例1-6:抽象数据类型三元组的定义:ADTTriplet数据对象:D=e1,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 语言版 绪论
限制150内