#C数据结构与算法# 绪论 数据结构的基本术语

 一 基本概念

1.1 什么是数据?

   数据(Data)是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号总称。

   例如:字符串,整数,实数等。

1.2 什么是数据对象?

   数据对象(Data Object)是性质相同的数据元素的集合,是数据的一个子集。

   例如:整数数据对象是集合N = {0,±1,±2}

1.3什么是数据元素?

  数据元素(Data Element)是数据的基本单位 ,也称结点(node)或记录(record),在计算机程序中通常将其作为一个整体进行考虑和处理。有时,一个数据元素可由若干个数据项组成。

  例如:一本书的书目信息为一个数据元素,而书目信息的每一项(如书名,作者名等)为一个数据项。

1.4什么是数据项?

    数据项(data item)是数据结构中讨论的最小单位,是数据记录中最基本的,不可分的数据单位,也称域(field)。

用一张图来描述他们之间的从属关系

#C数据结构与算法# 绪论 数据结构的基本术语_第1张图片

二 什么是数据结构?

2.1     数据结构的基本概念

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

用集合的形式描述为 :    DS=(S,R)    

       其中:D代表数据元素的结合,R代表数据元素上关系的集合。

      #C数据结构与算法# 绪论 数据结构的基本术语_第2张图片

2.2 数据结构的三要素 

       数据结构三要素:

       逻辑结构,存储结构,数据的运算。#C数据结构与算法# 绪论 数据结构的基本术语_第3张图片

   2.2.1  逻辑结构:

       逻辑结构有线性结构和非线性结构,非线性结构包括:树形结构,图形结构(网状结构),集合结构。

#C数据结构与算法# 绪论 数据结构的基本术语_第4张图片

2.2.2 数据存储结构分为 :顺序存储,链式存储,索引存储,散列存储。

 #C数据结构与算法# 绪论 数据结构的基本术语_第5张图片

顺序存储:

     顺序存储结构是把逻辑相邻的元素存储在物理位置相邻的存储单元中,数据元素之间的逻辑关系由存储单元的邻接关系来体现。

链式存储:

     链式存储不要求逻辑上相邻的结点在物理位置上亦相邻,结点间的逻辑关系是由附加的指针字段表示的。由此得到的存储表示称为链式存储结构,通常借助于计算机语言中的指针类型来描述它。

索引存储:

    索引存储在存储结点信息时除建立存储结点信息外,还建立附加的索引表来标识结点的地址。索引项的一般形式一般是<关键字,地址>。关键字标识唯一一个结点:地址作为指向结点的指针。

散列(或哈希)存储: 

    散列存储是根据结点的关键字通过哈希函数直接计算出该结点的存地址。这种存储方法本质上是顺序存储方法的扩展。

2.2.3 数据运算:  

  数据的运算是施加在数据上的运算,包括运算的定义和实现。

  运算的定义是针对逻辑结构的,指出运算的功能;运算的实现是针对存储结构的,指出运算的具体操作步骤。

#C数据结构与算法# 绪论 数据结构的基本术语_第6张图片

2.3数据类型

     2.3.1数据类型的概念:

是程序设计语言中,一个用来刻画操作对象的特性的值的集合,以及定义在此集合上的一组操作的总称。

      以C/C++为例:

#C数据结构与算法# 绪论 数据结构的基本术语_第7张图片

#C数据结构与算法# 绪论 数据结构的基本术语_第8张图片

 2.3.2   抽象数据类型(Abstract Data Type,ADT )

   ADT三要素:

    包含数据元素,数据元素之间的关系以及操作三要素(D,R,O)。

  其中: D是数据元素集合,R是D上关系集合,O是对D的基本操作集合。

  ADT的特点:

    抽象性和扩展性。

  ADT的定义格式:

   #C数据结构与算法# 绪论 数据结构的基本术语_第9张图片

   

你可能感兴趣的:(数据结构与算法,数据结构,c语言)