理解数据结构

数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及他们之间关系操作等学科。它包括以下内容:


基本概念和术语:

数据:数据是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。它是计算机程序加工的“原料”。例如,一个利用数值分析方法解代数方程的程序中,其处理对象时整数和实数;一个编译程序或文字处理程序的处理对象是字符串。因此,对计算机科学而言,数据的含义及其广泛,如图像、声音等都可以通过编码二归之为数据的范畴。

数据元素:数据元素是数据的基本单位,在计算机程序中通常作为一个整体进行考虑处理。有时,数据元素可由若干个数据项组成。数据项是数据不可分割的最小单位。

数据对象:数据对象时性质相同的数据元素的集合,是数据的一个子集。

一种简单的解释是,数据结构是相互之间存在一种或者多种特定关系的数据元素的集合。在任何问题中,数据元素都不是孤立存在的,而是他们之间存在某种关系,这种数据元素之间的关系称为结构。根据数据元素之间关系的不同特性,通常有下列4种结构:

(1)集合:结构中的数据元素之间除了“同属一个集合"的关系外,别无其他关系

(2)线性结构:结构中的数据元素之间存在一个对一个的关系

(3)树形结构:结构中的数据元素之间存在一个对多个的关系

(4)图状结构或者网状结构:结构中的数据元素之间存在多个对多个的关系。

扫描二维码关注公众号,回复: 2590961 查看本文章

数据结构的形式定义为:数据结构是一个二元组

Data_Structure=(D,S),其中D是数据元素的有限集,S是D上关系的有限集。

这种定义仅仅是对操作对象的一种数学描述,是从操作对象抽象出来的数据模型。我们还需要学习在计算机中实现对它的操作,即需要学习如何在计算中表示它。

数据结构在计算机中的表示需要包括数据元素的表示数据关系的表示。一般数据元素用二进制来表示,而数据元素之间的关系可通过顺序映像非顺序映像两种表示方法,对应顺序存储结构链式存储结构。简单来理解,顺序存储结构逻辑地址和物理地址一致,而链式存储结构一般通过指针实现。

  描述数据结构的存储结构,可忽略计算机底层细节,即在存储器的物理位置如何表示数据元素及其关系。所以可借助于高级程序设计语言中”数据类型“来描述数据结构,比如可以用C语言中的”一维数组“类型来描述顺序存储结构,以”指针“来描述链式存储结构。

数据类型是一个值的集合和定义在这个值集上的一组操作的总称。例如,C语言中的整型变量,其值为某个区间的整数,定义在其上的操作为加、减、乘、除和取模等算术运算。

高级程序设计语言提供的数据类型,其操作需要通过编译器或者解释器转化为底层,即汇编语言或者机器语言的数据类型来实现。引入”数据类型“的目的,从硬件角度看,是作为解释计算机内存中信息含义的一种手段,而对使用数据类型的用户来说,实现了信息的屏蔽,即将一切用户不必了解的细节都封装在类型中。

猜你喜欢

转载自blog.csdn.net/qlzx_syzx/article/details/78385815
今日推荐