数据结构学习笔记
数据结构基本概念和术语
1、数据(data):数据是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并被计算机程序符号的总称。
2、数据元素(data element):数据元素是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。有时,一个数据元素可由若干个数据项(data item)组成,数据项是数据的不可分割的最小单位。
3、数据对象:数据对象是性质相同的数据元素的集合,是数据的一个子集。
4、数据结构:数据结构是相互之间存在一种或多种特定关系的数据元素的集合。在任何问题中,数据元素都不是孤立存在的,而是它们之间存在着某种关系,这种数据元素之间的关系成为结构(structure)。根据数据元素之间关系的不同特性,通常有4类基本结构:
(1)集合 结构中的数据元素之间除了“同属于一个集合”的关系之外,别无其他关系;
(2)线性结构 结构中的数据元素之间存在一个对一个的关系;
(3)树形结构 结构中的数据元素之间存在一个对多个的关系;
(4)图状结构或网状结构 结构中的数据元素之间多对多的关系;
数据结构的定义形式为:数据结构是一个二元组
Data_Structure=(D,S)
其中,D是数据元素的有限集,S是D上关系的集合。
数据结构在计算机中的表示(又称映像)成为数据的物理结构,又称存储结构。它包括数据元素的表示和关系的表示。
在计算机中表示信息的最小单位是二进制数的一位,叫做位(bit)。在计算机中,用一个由若干位组合起形成的一位串表示一个数据元素,通常称这个位串为元素(element)或结点(node)。当数据元素由若干数据项组成时,位串中对应于数据项的子位串称为数据域(data field)。因此,元素或结点可看成是数据元素在计算机中的映像。
数据元素之间的关系在计算机中有两种不同的表示方法:顺序映像和非顺序映像,并由此得到两种不同的存储结构:顺序存储结构和链式存储结构。顺序映像的特点是借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系。非顺序映像的特点是借助指示元素存储地址的指针(pointer)表示数据元素之间的逻辑关系。
数据类型(data type)是和数据结构密切相关的一个概念,用以刻画(程序)操作对象的特性,数据类型是一个值的集合和定义在这个值集上的一组操作的总称。
按“值”的不同特性,高级程序语言中的额数据类型可分为两类:一类是非结构的原子类型,原子类型的值是不可分解的。另一类是结构类型,结构类型的值是由若干成分按某种结构组成的,因此是可以分解的,并且它的成分可以使非结构的额,也可以是结构的。
在某种意义上,数据结构可以看成是“一组具有相同结构的值”,则结构类型可以看成由一种数据结构和定义在其上的一组操作组成。
抽象数据类型(Abstract Data Type,简称ADT),是指一个数学模型以及定义在该模型上的一组操作。抽象数据类型的定义仅取决于它的一组逻辑特性,而与其在计算机内部如何表示和实现无关,即不论其内部结构如何变化,只要它的数学特性不变,都不影响其外部的作用。