数据结构的组成与分类

紫色代表一级目录
粉红代表二级目录
蓝色代表三级目录
红色代表关键字
橙色代表说明

数据结构的组成与分类
  数据的逻辑结构  面向用户
    数据的逻辑结构是从逻辑关系上来描述数据,它与数据的存储无关,是独立于计算机的。
    用一个二元组形象地表示:
      Data_ Structure =(D,R)
      D 是数据元素(结点)的有穷集合;R 是D 上关系的有穷集合,每个关系都是D 到D上的关系。
    数据的逻辑结构可以分为两大类:一类是线性结构,另一类是非线性结构。
      线性结构
        线性结构有且仅有一个开始结点和一个终端结点,并且每个结点至多只有一个前驱和一个后继。线性表是一种典型的线性结构。
      非线性结构
        非线性结构中的一个结点可能有多个前驱和后继。如果一个结点至多只有一个前驱而可以有多个后继,这种结构就是树形结构。如果对结点的前驱和后继的个数都不作限制,即任何两个结点之间都可能有邻接关系,我们把这种结构就叫作
    数据结构的组成与分类_第1张图片
  数据的存储结构
    数据的存储结构是数据的逻辑结构在计算机存储器中的实现,它是依赖于计算机的。也可以说,数据的存储结构是数据的逻辑结构用计算机语言的实现(或称为存储映象),它是依赖于计算机语言的。
    四种存储结构:
      顺序存储方式
        顺序存储方式是把逻辑上相邻的结点存储在物理位置也相邻的存储单元里,结点之间的逻辑关系用存储单元的邻接关系来体现,即在所存储的区域中原来逻辑上相邻的结点其物理位置也相邻。
      链式存储方式
        链接存储方式对逻辑上相邻的结点不要求在存储的物理位置上亦相邻,结点间的逻辑关系是由附加的指针字段来表示的。
      索引存储方式
        索引存储方式是在存储结点数据的同时,还需建立附加的索引表。索引表中的每一项称为索引项,一般由关键字和地址组成。关键字(key)是能够唯一标识一个结点的一个或多个字段。
        若每个结点在索引表中都有一个索引项,则该索引表称作为稠密索引(dense index)。若一组结点在索引表中只对应一个索引项,则把这样的索引表称作为稀疏索引(sparse index)。稠密索引中索引项的地址指示该结点的存储位置,而稀疏索引中索引项的地址则是指示一组结点的起始存储位置。
      散列存储方式  hash
        散列存储方法就是根据结点的关键字通过反映结点与存储地址之间对应关系的函数直接计算出该结点的存储地址(或位置)。
        数据结构的组成与分类_第2张图片
  (storage density)
    结构的存储密度定义为数据本身所占的存储量与整个结构所占的存储量之比。
    在这里插入图片描述
    紧凑结构的存储密度为1,非紧凑结构的存储密度小于1。

数据的运算
  数据的运算是定义在数据的逻辑结构上的,每种逻辑结构都有一个运算的集合。这些运算实际上是定义在抽象的数据上所施加的一系列的操作,所谓抽象的操作,是指我们只知道这些操作是“做什么”,而无需考虑“如何做”的问题。但运算的实现要在存储结构上进行,只有确定了的存储结构之后,我们才考虑如何具体实现这些运算(即算法)。
  (1)查找(检索);
  (2)插入;
  (3)删除;
  (4)修改(更新);
  (5)排序;
  (6)合并;
  (7)分拆等。

你可能感兴趣的:(data,structure)