数据结构是一门研究非数值计算的程序设计问题中的计算机的操作对象以及它们之间的关系和操作等的学科。
数据:对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。
数据元素:是数据的基本单位。一个数据元素可由若干个数据项组成,数据项是数据的不可分割的最小单位。
数据对象:是性质相同的数据元素的集合,是数据的一个子集。
数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。
4类基本结构:(1)集合 (2) 线性结构 (3)树形结构 (4)图形结构或网状结构
数据结构的形式定义为:数据结构是一个二元组
Data_Structure = (D,S)
其中:D是数据元素的有限集,S是D上关系的有限集。
数据结构在计算机中表示(又称映像)称为数据的物理结构,又称存储结构。它包括数据元素的表示和关系的表示。在计算机中表示信息的最小单位是二进制数的一位,叫作位(bit)。在计算机中,我们可以用一个若干位组合起来形成的一个位串表示一个数据元素,通常称这个位串为元素(element)或结点(node)。当数据元素由若干数据项组成时,位串中对应于各个数据项的子位串称为数据域(data field)。因此,元素和结点可看成是数据元素在计算机中的映像。
数据元素之间的关系在计算机中有两种不同的表示方法:顺序映像和非顺序映像,并由此得到两种不同的存储结构:顺序存储结构和链式存储结构。顺序映像的特点是借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系。非顺序映像的特点是借助指示元素存储地址的指针表示数据元素之间的逻辑关系。
任何一个算法的设计取决于选定的数据(逻辑)结构,而算法的实现依赖于采用的存储结构。
数据类型:类型明显或隐含地规定了在程序执行期间变量或表达式所有可能取值的范围,以及在这些值上允许进行的操作。因此,数据类型是一个值的结合和定义在这个值集上的一组操作的总称。
数据类型
(1) 非结构的原子类型:原子类型的值不可分解。如c中的基本类型:整型,实型…
(2) 结构类型:值可分解。
在某种意义上,数据结构可以看成是“一组具有相同结构的值”,则结构类型可以看成是由一种数据结构和定义在其上的一组操作组成。
抽象数据类型(Abstract Data Type,简称ADT)是指一个数学模型以及定义在该模型上的一组操作。抽象数据类型的定义仅取决于它的一组逻辑特性,而与其在计算机内部如何表示和实现无关,即不论其内部结构如何变化,只要它的数学特性不变,都不影响其外部的使用。
抽象数据类型可以用三元组表示:
(D,S,P)
其中,D是数据对象,S是D上的关系集,P是对D的基本操作集。
定义抽象数据类型格式:
ADT抽象数据类型名{
数据对象:<数据对象的定义>
数据关系:<数据关系的定义>
基本操作:<基本操作的定义>
}ADT抽象数据类型名
算法是对特定问题求解步骤的一种描述,它是指令的有限操作序列。
特性:有穷性、确定性、可行性、输入、输出。