数据结构都有哪些分类呢?

上次看到一本书,上面写到数据结构,我想了解一下什么是数据结构.

数据结构是指同一数据元素类中各数据元素之间存在的关系。数据结构分别为逻辑结构、存储结构(物理结构)和数据的运算。数据的逻辑结构是对数据之间关系的描述,有时就把逻辑结构简称为数据结构。逻辑结构形式地定义为(K,R)(或(D,S)),其中,K是数据元素的有限集,R是K上的关系的有限集。 数据元素相互之间的关系称为结构。有四类基本结构:集合、线性结构、树形结构、图状结构(网状结构)。树形结构和图形结构全称为非线性结构。集合结构中的数据元素除了同属于一种类型外,别无其它关系。线性结构中元素之间存在一对一关系,树形结构中元素之间存在一对多关系,图形结构中元素之间存在多对多关系。在图形结构中每个结点的前驱结点数和后续结点数可以任意多个。 数据结构在计算机中的表示(映像)称为数据的物理(存储)结构。它包括数据元素的表示和关系的表示。数据元素之间的关系有两种不同的表示方法:顺序映象和非顺序映象,并由此得到两种不同的存储结构:顺序存储结构和链式存储结构。顺序存储方法:它是把逻辑上相邻的结点存储在物理位置相邻的存储单元里,结点间的逻辑关系由存储单元的邻接关系来体现,由此得到的存储表示称为顺序存储结构。顺序存储结构是一种最基本的存储表示方法,通常借助于程序设计语言中的数组来实现。链接存储方法:它不要求逻辑上相邻的结点在物理位置上亦相邻,结点间的逻辑关系是由附加的指针字段表示的。由此得到的存储表示称为链式存储结构,链式存储结构通常借助于程序设计语言中的指针类型来实现。索引存储方法:除建立存储结点信息外,还建立附加的索引表来标识结点的地址。散列存储方法:就是根据结点的关键字直接计算出该结点的存储地址。 数据结构中,逻辑上(逻辑结构:数据元素之间的逻辑关系)可以把数据结构分成线性结构和非线性结构。线性结构的顺序存储结构是一种随机存取的存储结构,线性表的链式存储结构是一种顺序存取的存储结构。线性表若采用链式存储表示时所有结点之间的存储单元地址可连续可不连续。逻辑结构与数据元素本身的形式、内容、相对位置、所含结点个数都无关。 编辑本段数据结构与算法 算法的设计取决于数据(逻辑)结构,而算法的实现依赖于采用的存储结构。数据的存储结构实质上是它的逻辑结构在计算机存储器中的实现,为了全面的反映一个数据的逻辑结构,它在存储器中的映象包括两方面内容,即数据元素之间的信息和数据元素之间的关系。不同数据结构有其相应的若干运算。数据的运算是在数据的逻辑结构上定义的操作算法,如检索、插入、删除、更新和排序等。 数据的运算是数据结构的一个重要方面,讨论任一种数据结构时都离不开开对该结构上的数据运算及其实现算法的讨论。 数据结构的形式定义为:数据结构是一个二元组: Data-Structure=(D,S) 其中:D是数据元素的有限集,S是D上关系的有限集。 数据结构不同于数据类型,也不同于数据对象,它不仅要描述数据类型的数据对象,而且要描述数据对象各元素之间的相互关系。 数据类型是一个值的集合和定义在这个值集上的一组操作的总称。数据类型可分为两类:原子类型、结构类型。一方面,在程序设计语言中,每一个数据都属于某种数据类型。类型明显或隐含地规定了数据的取值范围、存储方式以及允许进行的运算。可以认为,数据类型是在程序设计中已经实现了的数据结构。另一方面,在程序设计过程中,当需要引入某种新的数据结构时,总是借助编程语言所提供的数据类型来描述数据的存储结构。 计算机中表示数据的最小单位是二进制数的一位,叫做位。我们用一个由若干位组合起来形成的一个位串表示一个数据元素,通常称这个位串为元素或结点。当数据元素由若干数据项组成时,位串中对应于各个数据项的子位串称为数据域。元素或结点可看成是数据元素在计算机中的映象。 一个软件系统框架应建立在数据之上,而不是建立在操作之上。一个含抽象数据类型的软件模块应包含定义、表示、实现三个部分。 对每一个数据结构而言,必定存在与它密切相关的一组操作。若操作的种类和数目不同,即使逻辑结构相同,数据结构能起的作用也不同。 不同的数据结构其操作集不同,但下列操作必不可缺: 1,结构的生成; 2.结构的销毁; 3,在结构中查找满足规定条件的数据元素; 4,在结构中插入新的数据元素; 5,删除结构中已经存在的数据元素; 6,遍历。 抽象数据类型:一个数学模型以及定义在该模型上的一组操作。抽象数据类型实际上就是对该数据结构的定义。因为它定义了一个数据的逻辑结构以及在此结构上的一组算法。抽象数据类型可用以下三元组表示:(D,S,P)。D是数据对象,S是D上的关系集,P是对D的基本操作集。ADT的定义为: ADT 抽象数据类型名{ 数据对象:(数据元素集合) 数据关系:(数据关系二元组结合) 基本操作:(操作函数的罗列) } ADT 抽象数据类型名; 抽象数据类型有两个重要特性: 数据抽象 用ADT描述程序处理的实体时,强调的是其本质的特征、其所能完成的功能以及它和外部用户的接口(即外界使用它的方法)。 数据封装 将实体的外部特性和其内部实现细节分离,并且对外部用户隐藏其内部实现细节。 数据(Data)是信息的载体,它能够被计算机识别、存储和加工处理。它是计算机程序加工的原料,应用程序处理各种各样的数据。计算机科学中,所谓数据就是计算机加工处理的对象,它可以是数值数据,也可以是非数值数据。数值数据是一些整数、实数或复数,主要用于工程计算、科学计算和商务处理等;非数值数据包括字符、文字、图形、图像、语音等。数据元素(Data Element)是数据的基本单位。在不同的条件下,数据元素又可称为元素、结点、顶点、记录等。例如,学生信息检索系统中学生信息表中的一个记录等,都被称为一个数据元素。 有时,一个数据元素可由若干个数据项(Data Item)组成,例如,学籍管理系统中学生信息表的每一个数据元素就是一个学生记录。它包括学生的学号、姓名、性别、籍贯、出生年月、成绩等数据项。这些数据项可以分为两种:一种叫做初等项,如学生的性别、籍贯等,这些数据项是在数据处理时不能再分割的最小单位;另一种叫做组合项,如学生的成绩,它可以再划分为数学、物理、化学等更小的项。通常,在解决实际应用问题时是把每个学生记录当作一个基本单位进行访问和处理的。 数据对象(Data Object)或数据元素类(Data Element Class)是具有相同性质的数据元素的集合。在某个具体问题中,数据元素都具有相同的性质(元素值不一定相等),属于同一数据对象(数据元素类),数据元素是数据元素类的一个实例。例如,在交通咨询系统的交通网中,所有的顶点是一个数据元素类,顶点A和顶点B各自代表一个城市,是该数据元素类中的两个实例,其数据元素的值分别为A和B。 数据结构(Data Structure)是指互相之间存在着一种或多种关系的数据元素的集合。在任何问题中,数据元素之间都不会是孤立的,在它们之间都存在着这样或那样的关系,这种数据元素之间的关系称为结构。根据数据元素间关系的不同特性,通常有下列四类基本的结构: ⑴集合结构。该结构的数据元素间的关系是“属于同一个集合”。 ⑵线性结构。该结构的数据元素之间存在着一对一的关系。 ⑶树型结构。该结构的数据元素之间存在着一对多的关系。 ⑷图形结构。该结构的数据元素之间存在着多对多的关系,也称网状结构。 从上面所介绍的数据结构的概念中可以知道,一个数据结构有两个要素。一个是数据元素的集合,另一个是关系的集合。在形式上,数据结构通常可以采用一个二元组来表示。 数据结构的形式定义为:数据结构是一个二元组 Data_Structure =(D,R) 其中,D是数据元素的有限集,R是D上关系的有限集。 线性结构的特点是数据元素之间是一种线性关系,数据元素“一个接一个的排列”。在一个线性表中数据元素的类型是相同的,或者说线性表是由同一类型的数据元素构成的线性结构。在实际问题中线性表的例子是很多的,如学生情况信息表是一个线性表:表中数据元素的类型为学生类型; 一个字符串也是一个线性表:表中数据元素的类型为字符型,等等。 线性表是最简单、最基本、也是最常用的一种线性结构。 线性表是具有相同数据类型的n(n>=0)个数据元素的有限序列,通常记为: (a1,a2,… ai-1,ai,ai+1,…an) 其中n为表长, n=0 时称为空表。 它有两种存储方法:顺序存储和链式存储,它的主要基本操作是插入、删除和检索等。
温馨提示:内容为网友见解,仅供参考
第1个回答  2018-08-04

常用的数据结构有4种:

    集合。2.线性结构。3.树形结构。4.图状结构;

1.集合

数据结构中的元素之间除了“同属一个集合” 的相互关系外,别无其他关系;

2.线性结构。

常用的线性结构有:线性表,栈,队列,双队列,数组,串。

数据结构中的元素存在一对一的相互关系。

3.树形结构

树形结构是一层次的嵌套结构。 一个树形结构的外层和内层有相似的结构, 所以这种结构多可以递归的表示。经典数据结构中的各种树状图是一种典型的树形结构:一颗树可以简单的表示为根, 左子树, 右子树。 左子树和右子树又有自己的子树。

4.图状结构

图状结构,简称“图”,是一种复杂的数据结构。图状结构中,每个结点的前驱结点数和后续结点数可以任意多个。数据元素间的关系是任意的。其他数据结构(如树、线性表等)都有明确的条件限制,而图形结构中任意两个数据元素间均可相关联。

根据具体问题类型,进行步骤拆解/原因原理分析/内容拓展等。
具体步骤如下:/导致这种情况的原因主要是……

本回答被网友采纳
第2个回答  2013-09-14
数据结构是指相互之间存在一种或多种关系特定关系的数据元素集合。说白了就是一组数据以及可以对这些数据进行什么操作,如数组就是一种数据结构,它存储数据,可以对它存储的数据进行插入,删除,修改等操作。
第4个回答  2015-12-12
  根据数据元素间关系的不同特性,将数据结构常分为下列四类基本的结构:
  ⑴集合结构。该结构的数据元素间的关系是“属于同一个集合”。
  ⑵线性结构。该结构的数据元素之间存在着一对一的关系。
  ⑶树型结构。该结构的数据元素之间存在着一对多的关系。
  ⑷图形结构。该结构的数据元素之间存在着多对多的关系,也称网状结构。
  数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。

从数据结构来分类,主要包含哪几类数据?
从数据结构的角度来分类,主要包含线性数据结构、树形数据结构、图形数据结构和集合数据结构这四大类。首先,线性数据结构是最基础和常见的数据结构类型,其元素按照线性的顺序排列。典型的线性数据结构包括数组、链表、栈和队列。例如,在一个数组中,元素通过连续的索引进行访问;而在链表中,元素通过指针或...

数据的逻辑结构分为哪四种?
1、集合结构:集合结构的集合中任何两个数据元素之间都没有逻辑关系,组织形式松散。2、线性结构:线性结构指的是数据元素之间存在着“一对一”的线性关系的数据结构。3、树状结构:树状结构是一个或多个节点的有限集合。4、网络结构:网络结构是指通信系统的整体设计,它为网络硬件、软件、协议、存取控制...

数据结构都有哪些分类呢
1、集合结构,该结构的数据元素间的关系是属于同一个集合。2、线性结构,该结构的数据元素之间存在着一对一的关系。3、树型结构,该结构的数据元素之间存在着一对多的关系。4、图形结构,该结构的数据元素之间存在着多对多的关系,也称网状结构。此外,数据结构是计算机存储和组织数据的方式,数据结构是指...

数据结构都有哪些分类
数据结构的分类 一、线性数据结构:主要包括线性表、栈、队列等。这些数据结构的主要特点是数据元素之间存在一种线性关系。如线性表中,数据元素是线性的有序集合;栈是一种后进先出的数据结构;队列则是先进先出的数据结构。二、非线性数据结构:主要包括树形结构、图结构等。这些数据结构中的元素之间不...

数据结构有几种分类方法?
按照数据的逻辑结构对其分类,包括线性结构和非线性结构两类。线性结构就是表中各个结点具有线性关系。线性表就是典型的线性结构,还有栈、队列和串等都属于线性结构。非线性结构就是表中各个结点之间具有多个对应关系。在实际应用中,数组、广义表、树结构和图结构等数据结构都属于非线性结构。

数据结构都有哪些分类呢?
数据的运算是数据结构的一个重要方面,讨论任一种数据结构时都离不开开对该结构上的数据运算及其实现算法的讨论。 数据结构的形式定义为:数据结构是一个二元组: Data-Structure=(D,S) 其中:D是数据元素的有限集,S是D上关系的有限集。 数据结构不同于数据类型,也不同于数据对象,它不仅要描述数据类型的数据对象...

什么是数据分类,在数据工作中如何应用?
数据分类:(1)从字段类型上:文本类(string、char、text等)、数值类(int、float、number等)、时间类(data、timestamp等)(2)从数据结构上:结构化数据、半结构化数据、非结构化数据 (3)从描述事物的角度:状态类数据、事件类数据、混合类数据 (4)从数据处理的角度:原始数据、衍生数据 (...

数据结构:八种数据结构分类
数据结构是计算机存储和组织数据的方式,其中包括八种主要类型:数组、栈、队列、链表、树、图、堆和散列表。首先,数组是基础的数据结构,它将相同类型的数据有序排列,查询和遍历速度快,但插入、删除操作受限,且大小固定。栈是一种遵循后进先出(LIFO)规则的数据结构,常用于保护重要数据,其操作主要...

八种数据结构特点
数据结构:计算机存储、组织数据的方式。程序员的目标是为当前的问题选择最优的数据结构。八种数据结构:数组,栈,链表,队列,堆,图,树,散列表,每种数据结构都有其特殊的存储方式。概念:一维数组:数组元素+数组索引 多维数组:数组的元素也是数组 基本操作:insert,get,delete(删除某个索引处的...

数据结构有哪几种
问题一:数据结构 都有哪些结构 常用数据结构 数组 (Array)在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的 *** 称为数组。在C语言中, 数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型...

相似回答