数据结构第1章 绪论
- 格式:ppt
- 大小:2.27 MB
- 文档页数:17
第1章绪论1.选择题(1)C (2)B (3)C (4)D (5)B2.判断题(1)√(2)Ⅹ(3)Ⅹ(4)Ⅹ(5)√3.简答题(1)根据数据元素之间的不同逻辑关系,通常将其划分为哪几类结构?【解答】常见的四种逻辑结构有:①集合结构:数据元素间的关系是“属于同一个集合”。
②线性结构:数据元素之间存在着一对一的关系。
③树型结构:数据元素之间存在着一对多的关系。
④图型结构:数据元素之间存在着多对多的关系。
(2)请描述线性结构中数据元素与数据元素之间的关系特点?【解答】线性结构的特点是数据元素之间是一种线性关系,数据元素“一个接一个的排列”。
在线性结构中,有且仅有一个元素被称为“第一个”,除第一个元素之外其他元素均有唯一一个“前驱”;有且仅有一个元素被称为“最后一个”,除最后一个元素之外其他元素均有唯一一个“后继”。
(3)请描述树形结构中数据元素与数据元素之间的关系特点?【解答】树形存储结构,就是数据元素与元素之间存在着一对多关系的数据结构。
在树形存储结构中,树的根节点没有前驱结点,其余的每个节点有且只有一个前驱结点,除叶子结点没有后续节点外,其他节点的后续节点可以有一个或者多个。
(4)常用的存储结构有哪几种,各自的特点是什么?【解答】常见的四种存储结构有:①顺序存储:把逻辑上相邻的元素存储在物理位置相邻的存储单元中。
顺序存储结构是一种最基本的存储表示方法,通常借助于程序设计语言中的数组来实现。
②链接存储:对逻辑上相邻的元素不要求不要求物理位置相邻的存储单元,元素间的逻辑关系通过附设的指针域来表示。
③索引存储:通过建立索引表存储结点信息的方法,其中索引表一般存储结点关键字和一个地点信息,可通过该地址找到结点其它信息。
④散列存储:根据结点的关键字直接计算出该结点的存储地址的方法。
(5)简述算法和程序的区别。
【解答】一个算法若用程序设计语言来描述,则它就是一个程序。
算法的含义与程序十分相似,但又有区别。
一个程序不一定满足有穷性。
第1章绪论1.1 什么是数据结构数据与数据之间的关系1.2 基本概念和术语1.基本定义(1).数据(Data) :是客观事物的符号表示。
在计算机科学中指的是所有能输入到计算机中并被计算机程序处理的符号的总称。
数据元素(Data Element) :是数据的基本单位,在程序中通常作为一个整体来进行考虑和处理。
(2)数据项(Data Item):一个数据元素可由若干个数据项组成。
数据项是数据的不可分割的最小单位。
数据项是对客观事物某一方面特性的数据描述。
数据对象(Data Object):是性质相同的数据元素的集合,是数据的一个子集。
2.举例如字符集合C={‘A’,‘B’,‘C’,…}--C表示字符对象;A ,B等表示数据元素;再如学生集合Students={“Zhangsan”, “Lisi”,…}Zhangsan(ID,name,age,grade,…)……--Students表示学生对象;“Zhangsan”、“Lisi”表示数据元素;Zhangsan的ID、name、age等表示数据项。
3.数据结构的形式定义数据结构的形式定义是一个二元组:Data-Structure=(D,S)其中:D是数据元素的有限集,S是D上关系的有限集4.逻辑结构与物理结构(1)数据元素之间的关系可以是元素之间代表某种含义的自然关系,也可以是为处理问题方便而人为定义的关系,这种自然或人为定义的“关系”称为数据元素之间的逻辑关系,相应的结构称为逻辑结构。
(2)数据结构在计算机中的表示(映像)称为数据的物理结构。
数据结构的存储方式1)顺序存储结构:用数据元素在存储器中的相对位置来表示数据元素之间的逻辑结构(关系)。
2)链式存储结构:在每一个数据元素中增加一个存放另一个元素地址的指针(pointer ),用该指针来表示数据元素之间的逻辑结构(关系)。
3)例:设有数据集合A={3.0,2.3,5.0,-8.5,11.0} ,两种不同的存储结构。
数据结构知识整理(部分)第一章:绪论1.数据:数据是外部信息的载体,他能够被计算机识别、存储和加工处理,是计算机程序加工的原料;2.数据元素:数据元素是数据的基本单位,在计算机中通常被作为一个整体进行考虑和处理;3.一个数据元素可由若干个数据项组成。
数据项是不可分割的、含有独立意义的最小数据单位,数据项有时也称为字段或域;4.数据结构是相互之间存在的一种或多种特定关系的数据元素的集合。
在任何问题中,数据元素之间都不是孤立的,而是存在着一定的关系,这种关系称为结构;5.4种基本数据结构:集合:只有“同属一个集合”的关系;线性结构:存在着一对一的关系;树形结构:存在着一对多的关系;图状结构:存在着多对多的关系;6.数据结构包括数据的逻辑结构和物理结构。
逻辑结构:从具体问题抽象出来的数学模型,与数据在计算机中的具体储存没有关系。
从逻辑上可以把数据结构分为线性结构和非线性结构,其中集合、树、图形结构属于非线性结构;7.数据的物理结构又叫存储结构,是数据在计算机中的表示和存储,包括数据元素的表示和存储以及数据元素之间关系的表示和存储,存储结构必须依赖于计算机。
数据元素之间的关系在计算机中的表示有两种:顺序映像和非顺序映像。
分别对应两和数据的存储结构:顺序存储结构和链式存储结构;顺序存储结构是指把逻辑上相邻的数据元素存储在物理位置相邻的存储单元中;链式存储结构不要求必须相邻。
链式存储结构中的数据元素叫做结点,在结点中附近设地址域来存储与该结点相邻的结点的地址来实现结点之间逻辑关系;8.在软件设计中,抽象数据类型通常包括定义、表示和实现三部分9.算法:是指在有限的时间范围之内为解决某一问题而采取的方法和步骤的准确完整的描述,他是一个有穷的规则序列,这些规则决定了解决某一特定问题的一系列运算;10算法的特征:有穷性,确定性,可行性,输入,输出;算法+数据结构=程序;11.评价一个算法的主要标准:正确性,可读性,健壮性,运行时间,占用空间;健壮性要求算法要全面细致的考虑所有可能出现的边界情况和异常情况;实际上,算法的时间效率和空间效率经常是一对矛盾,相互抵触,我们要根据实际问题进行处理,有时要牺牲空间换取时间,有时要牺牲时间换取空间。
第 1 章 绪 论1.1 数据结构的兴起和发展一、数据结构起源于程序设计。
·程序设计的新问题:应如何组织待处理的数据以及数据之间的关系(结构)。
·70年代初,数据结构作为一门独立的课程开始进入大学课堂。
二、数据结构随着程序设计的发展而发展。
程序设计经历了三个阶段:无结构阶段、结构化阶段和面向对象阶段,相应地,数据结构的发展也经历了三个阶段:三、数据结构的发展并未终结。
1. 数据结构将继续随着程序设计的发展而发展;2. 面向各专门领域的数据结构得到研究和发展,各种空间数据结构也在探索中。
应用领域:科学计算;程序设计面向计算机 应用领域:科学计算与非数值处理;算法+数据结构=程序 应用领域:更多地应用于非数值处理;(算法+数据结构)=程序1.2 数据结构的研究对象例1-1 学籍管理问题例1-2 人——机对弈问题例1-3 教学计划编排问题表1-1 学生学籍登记表 (a) 井字棋的一个格局 (b) 对弈树的局部 图1-2 对弈问题中格局之间的关系1.3 数据结构的基本概念1.3.1 数据结构1. 数据:在计算机科学中是指所有能输入到计算机中并能被计算机程序识别和处理的符号集合。
2. 数据元素:是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。
构成数据元素的不可分割的最小单位称为数据项。
3. 数据对象:是具有相同性质的数据元素的集合,是数据的子集。
4. 数据结构:是指相互之间存在一定关系的数据元素的集合。
按照视点的不同,数据结构分为逻辑结构和存储结构。
数据的逻辑结构是指数据元素之间逻辑关系的整体。
根据数据元素之间逻辑关系的不同,数据结构分为四类:⑴集合数据元素之间的关系是。
⑵线性结构数据元素之间的关系是。
⑶树结构数据元素之间的关系是。
⑷图结构数据元素之间的关系是。
数据的存储结构又称为物理结构,是数据及其逻辑结构在计算机中的表示。
有两种存储结构:顺序存储结构和链接存储结构。