——C语言描述王国钧主编唐国民、苏晓萍、马瑜副主编科学出版社2005年8月第1章概论o什么是数据结构o为什么要学习数据结构o算法和算法分析1
1什么是数据结构1
1数据和数据元素数据(data)是信息的载体,是对客观事物的符号表示,它能够被计算机识别、存储和加工处理
可以说,数据是计算机程序加工的“原料”
目前,象图像、声音、视频等都可以通过编码而由计算机处理,因此它们也属于数据的范畴
数据元素(dataelement)是数据的基本单位,通常在计算机程序中作为一个整体进行考虑和处理
数据元素也称为元素、结点或记录
有时,一个数据元素可以由若干个数据项(也称字段、域),数据项是数据不可分割的最小单位
2数据对象和数据类型数据对象(dataobject)是性质相同的数据元素的集合,它是数据的一个子集
例如,整数数据对象是集合N={0,±1,±2,±3,…};大写字母字符数据对象是集合C={‘A’,‘B’,…,‘Z’}
要注意的是,计算机中的整数数据对象集合N1应该是上述集合N的一个子集,N1={0,±1,±2,…,±maxint},其中maxint是依赖于所使用的计算机和语言的最大整数
数据类型(datatype)是计算机程序中的数据对象以及定义在这个数据对象集合上的一组操作的总称
例如,C语言中的整数类型是区间[-maxint,maxint]上的整数,在这个集合上可以进行加、减、乘、整除、求余等操作
3数据结构数据结构(datastructure)是指数据对象以及该数据对象集合中的数据元素之间的相互关系(即数据元素的组织形式)
数据元素的组织形式一般包含下列内容:⑴数据元素之间的逻辑关系,也称为数据的逻辑结构
数据的逻辑结构通常有下列4类(见图1
1):①集合:其中的数据元素之间除了“属于同一个集合”的关系以外,别无其他关系
②线性结构:其中的数据元素之间