1.1数据结构的基础概念
1.数据(Data)
※数据是描述客观事物的数值,字符以及能输入机器且能被处理的各种符号集合。
※换句话说:数据是对客观事物采用计算机能够识别,存储和处理的形式所进行的描述。
※简言之,数据就是计算机化的信息。
2.数据元素(Data Element)
※ 数据元素是组成数据的基本单位,是数据集合的个体
(1)数据项(Data Item)
※一个数据元素可以由一个或多个数据项组成,数据项是有独立含义的最小单位,此时的数据元素通常称为记录(Record)。
表1.1 学籍表(数据)
如图1.1所示学籍表是数据,每个学生的记录就是一个数据元素。
3.数据对象(Data Object)
※数据对象是性质相同的数据元素的集合,是数据的一个子集
eg:
整数数据对象是集合N={0,+-1,+-2.......};
字母字符数据对象是集合C={A,B.........,Z};
表1.1学籍表也可以看作是一个数据对象
※由此可见:不论数据元素集合是无限集(如整数集),有限集(如字符集),还是由多个数据项组合成的复合数据元素(如学 籍表),只要 性质相同,都属于同一数据对象。
※数据概念归纳如下:
数据特点:(1)可被计算机接收(与计算机的关联性)
(2)可被加工(能被处理)
数据构成:(1)数据元素——组成数据的基本单位(是数据集合的个体)
(2)数据对象——性质相同的数据元素的集合(是数据集合的子集)
表示如图:
4.数据结构(Data Structure)
※
数据结构是只相互之间存在一种或多种特定关系的数据元素集合,数据结构应该包括数据元素集合及元素间关系的集合,即数 据的组织形 式。
※数据结构要研究数据元素间的相互关系与组成方式,以及对其时间啊的运算及运算规则,并不关心数据元素的具体内容是什么 值。
eg:图书馆,表结构(1.1学籍表),树状结构(1.2学校组织结构图),图结构(1.3交通流量图)
5.数据类型(Data Type)
※
数据类型是一组性质相同的值得集合以及定义再这个值集合上的一组操作的总称。
即:该类型的取值范围 即:该类型种可允许使用的一组计算
eg: int型 -32767~+32768 eg:加减乘除取余(+ - * / %)
※例如:高级语言中的数据类型就是已经实现的数据结构实例(int)
(解析:有数据结构的定义可知,以整型类型为例 3,4,5之间有+ - * / %等一种或多种特定的关系 纯属个人见解仅供参考,欢迎讨论)
※从这个意义上讲,数据类型是高级语言中允许的变量种类,是程序设计语言中已经实现的数据结构(即程序中允许出现的数据形式)
※按“值”得不同的特性,高级程序设计语言中的数据类型可以分为两大类:
(1)原子类型:值不可再分 eg:C语言中的整型,实型,字符型和指针。
(2)结构类型:值可以再分,值由若干成分按某种结构组合而成,其成分可以是原子的也可以是结构的、
在高级程序设计语言中,数据类型包含系统定义的标准类型和用户自定义类型这两大类。
( eg:int,double,float......)(先定义后使用,在系统提供标准类型的基础上根据需要来组合,构建新的类型(eg:C语言中提供的typedef定义形式))