作者:糖就是甜咯 | 来源:互联网 | 2022-12-30 11:56
数据结构作用是什么?所谓结构就是组织形式,数据的结构就是数据怎么组织,即怎么描述,怎么在电脑中存储。不同类型的数据,它们的组织形式(数据结构)是不同的,如我们把一个班的学生按照学号
数据结构作用是什么?
所谓结构就是组织形式,数据的结构就是数据怎么组织,即怎么描述,怎么在电脑中存储。不同类型的数据,它们的组织形式(数据结构)是不同的,如我们把一个班的学生按照学号排队,可以用“数组”来描述它,而如果要描述一个家族的系谱,从祖先到子子孙孙,开支散叶,则可以用“树”来描述,因为这样的数据组织起来像一颗树。
数组和树,在进行插入数据,删除数据等操作时,它们的操作方式是不一样的。
如果想编程序,那么必须要了解一些数据结构方面的知识。因为你首先要知道怎么描述数据。
数据结构是什么,有什么用处?
数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。
通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率的算法。
数据结构往往同高效的检索算法和索引技术有关。数据结构在计算机科学界至今没有标准的定义。个人根据各自的理解而有不同的表述方法:Sartaj Sahni 在他的《数据结构、算法与应用》一书中称:“数据结构是数据对象,以及存在于该对象的实例和组成实例的数据元素之间的各种联系。这些联系可以通过定义相关的函数来给出。
”他将数据对象(data object)定义为“一个数据对象是实例或值的集合”。Clifford A.Shaffer 在《数据结构与算法分析》一书中的定义是:“数据结构是 ADT(抽象数据类型 Abstract Data Type) 的物理实现。”Lobert L.Kruse 在《数据结构与程序设计》一书中,将一个数据结构的设计过程分成抽象层、数据结构层和实现层。
其中,抽象层是指抽象数据类型层,它讨论数据的逻辑结构及其运算,数据结构层和实现层讨论一个数据结构的表示和在计算机内的存储细节以及运算的实现。一般认为,一个数据结构是由数据元素依据某种逻辑联系组织起来的。对数据元素间逻辑关系的描述称为数据的逻辑结构;数据必须在计算机内存储,数据的存储结构是数据结构的实现形式,是其在计算机内的表示;此外讨论一个数据结构必须同时讨论在该类数据上执行的运算才有意义。
在许多类型的程序的设计中,数据结构的选择是一个基本的设计考虑因素。许多大型系统的构造经验表明,系统实现的困难程度和系统构造的质量都严重的依赖于是否选择了最优的数据结构。许多时候,确定了数据结构后,算法就容易得到了。
有些时候事情也会反过来,我们根据特定算法来选择数据结构与之适应。不论哪种情况,选择合适的数据结构都是非常重要的。选择了数据结构,算法也随之确定,是数据而不是算法是系统构造的关键因素。这种洞见导致了许多种软件设计方法和程序设计语言的出现,面向对象的程序设计语言就是其中之一。
在计算机科学中,数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象(数据元素)以及它们之间的关系和运算等的学科,而且确保经过这些运算后所得到的新结构仍然是原来的结构类型。
数据结构基本概念
数据结构概念包含三方面:数据的逻辑结构、数据的存储结构、对数据的操作 一、数据的逻辑结构 1、数据的逻辑结构是指数据元素之间的逻辑关系,用一个数据元素的集合和定义在此集合上的若干关系表示。 2、数据结构分为三种:线性结构、树结构、图 其中树和图是非线性结构。
(1)线性结构:是具有线性关系的数据结构,线性表的元素是有序数列,每个元素(除了头和尾)有且仅有一个前驱和后继。
(2)树结构:数据元素之间具有层次关系的一种非线性结构,树种数据元素通常称为结点。树结构的层次关系是指---->根结点没有前驱结点,除了根以外的其他结点有且仅有一个父母结点,所有结点可有多个或零个后继结点,或称孩子结点。 (3)图:每个数据元素可有多个前驱元素和多个后继元素。 3、数据元素及其关系在计算机中的存储表示或实现称为“数据的存储结构”,也称物理结构 二、数据的存储结构 1、数据的逻辑结构从逻辑关系的角度观察数据,它与数据的存储无关,独立于计算机,而数据的存储结构是逻辑结构在计算机内存中的实现,依赖于计算机。
2、数据的存储结构基本形式有两种:顺序存储结构、链式存储结构 (通常数组实现顺序存储结构、链表实现链式存储结构) (1)顺序存储结构:使用一租连续的内存单元一次存放数据元素,数据元素在内存中的物理存储顺序与他们的逻辑顺序相同,即每个元素与其前驱元素以及后继元素的存储位置相邻。 (2)链式存储结构:使用若干地址分散的存储单元存储数据元素,逻辑上相邻的数据元素在物理位置上不一定相邻,数据元素之间的关系需要采用附加信息特别指定。通常像链表那样,采用指针变量来记录前驱和后继元素的地址,c语言采用指针,Java采用引用。
三、对数据的操作 1、每中数据结构都需要一组对其元素实现特定功能的操作: 比如:初始化、判空、存、取、插入、删除、排序等等操作。 四、数据类型与抽象数据类型 1、数据类型 类型是具有相同意义的一组值的集合,数据类型是指一个类型和定义在这个类型上的操作集合,数据类型定义了数据的性质,取值范围以及对数据所能进行的各种操作。 (Java的基本数据类型包括:整数类型,浮点类型等等) 2、抽象数据类型 抽象数据类型是指一个数学模型以及定义在该模型上的一组操作。
比如复数的抽象数据类型: 3、数据抽象 是指“定义”和“实现”相分离,类似与接口的定义与实现。