数据结构的定义和研究的内容

原创 2016年08月28日 18:21:52

定义:

按照某种逻辑关系组织起来的一批数据,用一定的存储方式存储在计算机的存储器中,并在这些数据上定义一个运算的集合,就成为一个数据结构。

数据结构研究的内容如下:

(1)数据的逻辑结构:按照某种逻辑关系将数据组织好,即逻辑结构。

(2)数据的存储结构:将数据及数据之间的关系存储到存储区域中,即存储结构。

(3)数据的运算:在这些数据上定义一个基本运算的集合。

 

一、数据的逻辑结构

数据的逻辑结构是数据元素之间的逻辑关系。它是根据实际问题本身所含数据之间的内在联系而抽象出来的数学模型,与计算机无关,所以被称为数据的逻辑结构。

由于数据的逻辑结构是数学模型,所以可以借助数学方法来表示,我们可以用离散数学中关系代数的二元组表示:

Data_Structure = (D,S)

D = { d1,d2,...,dn }di(1<=i<=n)代表数据元素

S = { r1,r2,...,rm }, rj(1<=j<=m)代表数据元素之间的关系。

其中: Data_Structure代表数据结构的类型,D代表数据的集合,S代表关系的合集。S里的元素我们用<dm, dn>表示,其表示的含义是dm指向dn,所以,这两个数据的顺序不能颠倒。

以下图为例:


我们就可以这样表示:

L = (D, S)

D = {d1, d2, d3, d4,d5}

S = {<d1, d2>, <d2, d3>, <d3, d4>, <d4, d5>}

针对二元数组表示的逻辑结构,有如下的常用术语:

(1)前驱结点、后继结点、相邻结点。

放到上面的这个例子当中就是:d1d2的前驱结点、d3d2的后继结点……d1无前驱结点,d5无后继结点。

(2)开始结点、终端结点、内部结点

以上图为例,d1是开始结点;d5是后继结点;d2d3d4是内部节点。

 

二、数据结构的分类

数据结构分为两大类:线性结构 非线性结构。

线性结构:经典的线性结构是线性表。

非线性结构:经典的非线性结构是树形结构和图形结构。

三、数据的存储结构

数据的存储结构是指数据的逻辑结构到计算机存储区域的映射。对于数据的逻辑结构Data_Structure(D, S),在映射中,一方面要将数据集D中的数据元素存放到存储区域中,另一方面还要体现关系S

 

完成数据的逻辑结构到存储区域的映射可以有很多种方法,常用的数据存储的方法有如下四种:

(1)顺序存储:把逻辑上相邻的数据元素存储在物理位置上相邻的存储单元里,例如:数组。

(2)链接存储:通过附加指针域来表示数据元素之间的关系。

(3)索引存储:通过附加索引表来表示数据元素之间的关系。索引表中的每一项称为索引项,用来标识一个或一组数据的存储位置。索引存储大致分为两种:

稠密索引:每个数据元素对应一个索引项。

稀疏索引:一组数据元素对应一个索引项。

(4)散列存储:基本思想是,根据数据元素的关键字直接计算出该数据元素的存储地址,通常成为关键字-地址转换法。这种方法需要设计一个散列函数,以关键字为自变量,散列函数值即为地址。用这种存储方法设计的存储结构最适合按照关键字进行查找,但数据元素之间的关系已经无法再存储结构上体现。

三、数据的运算

数据的运算(也称操作)是指对数据元素进行加工处理。数据的基本运算包括查找、插入、删除、排序等。

注意:在讨论任何一种数据结构时,都应该将数据的逻辑结构、数据的存储结构和数据的运算这三方面看成一个整体,不要孤立地理解一个方面,而要注意它们之间的联系。三个方面中的任意一方面不同,都可以被定义成不同的数据结构。


版权声明:本文为博主原创文章,未经博主允许不得转载。

数据结构概念篇

针对简单的数据结构,做一个概括性的总结。数据结构的基本概念多做了一个介绍,有什么不明白的,应及时查询了解清楚。...
  • wfenglinxu
  • wfenglinxu
  • 2016年07月18日 16:03
  • 2078

数据结构的形式定义

  数据结构  数据结构的形式定义为:  数据结构是一个二元组   Data_Structures = ( D,S )  其中:D是数据元素的有限集,     S是D上关系的有限集。  按关系或结构分...
  • m57091003
  • m57091003
  • 2007年12月02日 13:45
  • 4381

数据结构定义

1.线性表  顺序存储的结构类型: typedef struct { ElemType data[MaxSize]; int length; } 链式存储的结构类型:  单链表: ...
  • zxf1by1
  • zxf1by1
  • 2011年11月29日 12:29
  • 3343

数据结构:树的定义和基本概念

一、树(Tree)是n(n>=0)个结点的有限集。n=0时称为空树。在任意一棵非空树中:(1)有且仅有一个特定的称为根(root)的结点。 (2)当n>1时,其余结点可分为m(m>0)个互不相交的有限...
  • Simba888888
  • Simba888888
  • 2013年04月26日 09:26
  • 8325

数据结构(结构体定义,typedef)

数据结构(结构体定义,typedef) 时间2014-03-24 00:22:39 CSDN博客 原文  http://blog.csdn.net/leonard_it/article/deta...
  • armauk
  • armauk
  • 2014年04月14日 23:06
  • 808

理解数据结构

数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及他们之间的关系和操作等学科。它包括以下内容: 基本概念和术语: 数据:数据是对客观事物的符号表示,在计算机科学中是指所有能输...
  • qlzx_syzx
  • qlzx_syzx
  • 2017年10月29日 15:42
  • 87

关于C/C++数据结构中结构体的定义

C/C++中的结构体解析: typedef struct DNode { char data; DNode *next; DNode *pre; }Dlinklist; "typ...
  • tonepig
  • tonepig
  • 2017年04月18日 11:06
  • 521

数据结构的定义和研究的内容

定义: 按照某种逻辑关系组织起来的一批数据,用一定的存储方式存储在计算机的存储器中,并在这些数据上定义一个运算的集合,就成为一个数据结构。 数据结构研究的内容如下: (1)数据的逻辑结构:按照某...
  • Johnnyzhunan
  • Johnnyzhunan
  • 2016年08月28日 18:21
  • 2691

数据结构的基本概念

一,基本概念:    1.数据:信息的载体,描述客观事物属性的数,字符以及所有能输入到计算机中并被计算机是被和处理的符号的集合。    2.数据元素:数据的基本单位,通常作为一个整体进行考虑和处理...
  • WYFVV
  • WYFVV
  • 2018年02月04日 18:23
  • 9

计算机图形学与图像处理图形学的研究内容

计算机图形学与图像处理图形学的研究内容    计算机图形学的定义:指用计算机产生对象图形的输出的技术。更确切的说,计算机图形学是研究通过见算计将数据转化为图形,并在专门显示设备上显示的原理。方法和...
  • lk142500
  • lk142500
  • 2015年03月23日 17:18
  • 772
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数据结构的定义和研究的内容
举报原因:
原因补充:

(最多只允许输入30个字)