什么是数据结构?
笔者认为数据结构包括三个部分【1】数据的逻辑结构,即数据对象集【2】数据的物理存储结构,即数据对象集在计算机中的组织方式【3】数据对象集相关联的操作集,以及实现这些操作集的最高效的算法。简而言之,数据结构包含数据逻辑结构,数据物理存储结构,算法。
数据结构往往是抽象的,它的实现需要依赖具体的程序设计语言,一般使用C语言来实现。
例1 在日常数据处理中经常碰到的问题是需要对一组数据进行基本的统计分析。比如分析一个班级学生的平均成绩,最高成绩,最低成绩,中位数等。再比如,统计家庭每年每月的开支情况,生产线上各位员工计件任务的完成情况,各省的人均GDP数据等。为每个具体应用都编一个程序显然不是好的方法,因为这些程序有很大的相似性。数据结构的处理方法是从这些具体应用中抽象出共性的数据组织和操作方法,进而采取某种具体的程序设计语言实现相应的数据存储和操作。比如对上面的例子我们可以从不同的应用背景中抽象出一种针对基本统计要求的数据类型(抽象数据类型ADT)。
类型名称:统计数据集
数据对象集:N个元素{x1,x2,x3,.......xN}的集合S。
操作集:
1.ElementType Average(S,N):求S中N个元素的平均值。
2.ElementType Max(S,N):求S中N个元素的最大值。
3.ElementType Min(S,N):求S中N个元素的最小值。
4.ElementType M