数据结构基本概念

基本概念:

  1、数据

  数据就是信息的载体,其实通俗来讲就是计算机输入,处理和输出的东西。

  2、数据元素

  数据元素就是数据的基本单位,数据项就是构成数据元素的不可分割的最小单位。举个例子,学生记录由学号,姓名和性别构成,那么学生记录就是一个数据元素,学号,姓名,性别就是数据项。

  3、数据对象

  数据对象就是有相同性质的数据元素的集合。

  4、数据类型

  数据类型是一个值的集合和定义在此集合上的一组操作的总称。

  1)原子类型。其值不可再分的数据类型。像int,float,double。

  2)结构类型。其值可以再分。例如结构体,它的值就可以再分。

  3)抽象数据类型。抽象数据组织及与之相关的操作。

  5、抽象数据类型(ADT,abstract Data Type)

  是指一个数学模型及定义在该模型上的一组操作。通常用(数据对象,数据关系,基本操作集)这样的三元组来表示。

  6、数据结构

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

三要素:

  1、数据的逻辑结构

  逻辑结构就是数据元素与元素之间的逻辑关系。它与计算机存储数据的方式无关,是独立与计算机的。

  常见的逻辑结构有:线性结构非线性结构

  线性结构:数据元素之间只存在一对一的关系。(线性表)

  非线性结构:

    1)集合(同属于一个集合)

    2)树形结构(一对多)

    3)图状结构(多对多)

  2、数据的存储结构

  存储结构其实就是数据在计算机中的表示方法,又称物理结构

  分类:

    1)顺序存储:逻辑上相邻的元素物理上也相邻。

       优点:随机存储,每个元素占用最少的存储空间。

       缺点:只能使用相邻的一整块存储单元,因此可能产生较多的外部碎片。

    2)链式存储:不要求逻辑上相邻的元素在物理上也相邻。

       优点:不会出现碎片现象,能充分利用所有存储单元。

       缺点:每个元素因存储指针而占用额外的存储空间,而只能实现顺序存取。

    3)索引存储:在存储元素信息的同时,还建立附加的索引表。索引表的每项称为索引项,索引项的一般形式是(关键字,地址)。

       优点:检索速度快

       缺点:增加附加的索引表后会占用较多的存储空间,在增加删除数据的时候要修改索引表,花费的时间较多。

    4)散列存储:根据元素的关键字直接计算出该元素的存储地址,又称hash存储。

       优点:检索、增加和删除结点的操作都很快

       缺点:若散列函数不好,则可能出现元素存储单元冲突,而解决冲突会增加时间和空间开销

  3、数据的运算

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

Last updated