数据结构

1 基本概念

1.1 数据

  数据是描述客观事物的符号,是计算机中可以操作的对象,能被计算机识别,并输入给计算机进行处理的符号集合;如整型、浮点型、等数值类型,字符、声音、图片、视频等非数值类型

1.2 数据对象

  数据对象是性质相同的数据元素的集合,是数据的子集;

1.3 数据元素

  数据元素是组成数据的有一定意义的基本单位,在计算机中通常作为整体处理,也被称为记录;

1.4 数据项

  数据项是数据不可分割的最小单位,一个元素由若干个数据项组成;

1.5 数据元素与数据项的关系

  数据项仅是数据元素的组成部分,数据元素是数据结构中建立数据模型的着眼点

1.6 数据结构

  数据结构是指相互之间存在一种或者多种特定关系数据元素的集合

1.7 数据、数据对象、数据元素、数据项的形象理解

  

1.8 数据基本单位关系图

  

2 逻辑结构

  逻辑结构是指数据对象中数据元素之间的相互关系,体现的是人类的逻辑思维方式,逻辑结构是为了分析数据而使用的。逻辑结构包括:集合结构、线性结构、树形结构、图形结构。

2.1 集合结构

  集合结构中的数据元素除了同属于一个集合外,它们之间没有其他关系,元素之间是平等的。

2.2 线性结构

  线性结构中的数据元素是一对一的关系

2.3 树形结构

  树形结构中的数据元素是一对多的关系

2.4 圆形结构

  圆形结构中的数据元素是多对多的关系

2.5 图示

  

3 存储结构

  存储结构是指数据的逻辑结构在计算机中的存储形式;包括顺序存储结构和链式存储结构

3.1 顺序存储结构

  将数据元素存储在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的,如数组;即存储数据时用一整块存储空间,地址连续

3.2 链式存储结构

  将数据元素存储在任意的存储单元里,这组存储单元可以使连续的也可以使不连续的;所使用的方法就是在每一个数据元素里头记录下一个数据元素的地址通过地址的记录来保证数据的逻辑性,数据的逻辑关系和物理关系可以对应起来。

 

  逻辑结构是人分析数据如何存储的分析的方法,而存储结构是分析完成后具体在计算机的内存或者外存当中如何把它存放下来的方法

4 抽象数据类型

4.1 数据类型

  数据类型是指一组性质相同的值的集合及定义在此集合上的一些操作的总称,是按照值的不同进行划分的;是用来说明变量或表达式的取值范围或所能进行的操作。

  性质相同:像整型都不带小数点就是性质相同

4.2 数据分类

  原子类型:不能再分的基本类型,像int、char

  构造类型:由若干原子类型或者构造类型组合而成,像结构体

4.3 抽象

  抽象是指抽取出事物的普遍的本质,是对具体事物的概括,是一种思考问题的方式;

4.4 抽象数据类型

  是指一个数学模型及定义在该模型上的一组操作;仅与逻辑结构相关,与存储结构无关;是对数据类型的数学抽象表示。抽象数据类型实际上就是对一组数据进行的相关操作,就是数学模型抽象数据类型是人的思考方式,是人的一种推理方法

5 算法

  算法是对解决特定问题的求解步骤的描述;在计算机中表现为指令的有限序列,并且每一条指令表示一个或多个操作;计算机语言称为程序算法,平时的语言称为逻辑算法。没有通用的算法,只有专用的算法

5.1 指令

  指令是指能被执行的命令,是一定的操作序列,即一组命令;可以使计算机语言也可以是平时的语言

5.2 算法的输入特性

  算法执行前必须具备的先决条件:

    可以没有输入,即不需要先决条件

    可以有一个输入,即只需要一个先决条件

    可以有多个输入,即需要多个先决条件

5.3 算法的输出特性

  算法执行后所得到的结果:

    必须有输出

    输出可以使打印输出

    输出可以使返回一个或多个值

5.4 算法的特性

5.4.1 有穷性

  指算法在执行有限的步骤后自动停止;不会出现死循环;每个步骤都能在可接收的时间内完成。

5.4.2 可执行性

  算法的每一步都必须是执行的;算法的每一步都能够通过执行有限的次数完成;算法可以被转换成计算机程序执行,并得到执行结果。

5.4.3 确定性

  算法的每一个步骤都有明确的含义,没有二义性;

5.4.4 正确性

  应该具有输入、输出和加工处理;无歧义性;能正确反映问题的需求;能得到问题的正确答案;

5.4.4.1 正确性的层次

  没有语法错误;对应合法的输入数据能产生满足要求的输出结果;对于不合法的数据能产生满足规格说明的输出结果;对于精修选择的测试数据能产生满足要求的输出的输出结果。

5.4.5 可读性

  便于阅读、理解、交流

5.4.6 健壮性

  当输入不合法的数据时,算法也能做出相关处理;不会产生异常或莫名其妙的结果;

5.4.7 时间效率高

  指算法的执行时间;对于同一问题用时少的算法,时间效率高

5.4.8 存储量低

  算法执行过程中所需要的存储空间;对于同一问题,存储空间小的算法,存储量低

 

posted @ 2018-12-20 18:38  dongry  阅读(402)  评论(0编辑  收藏  举报