数据结构 2(数据结构 逻辑关系 存储关系 数据类型 抽象数据类型)

数据是(描述客观事务的字符集合)在计算机中表示(所有能被输入到计算机中进行处理的符号的集合)

数据元素是数据的(基本单位)数据元素可以由(数据项)构成  它又称为(字段)(域) 数据对象是(性质相同数据元素的集合 它是数据的子集)

数据结构是(指所有数据元素和元素之间关系)

  以下三个方面构成

  1数据元素之间逻辑关系 展现给用户的形式

  2数据的物理结构 即是数据元素以及相关关系在在计算机存储器中的存储方式

  3数据的运算

备注:对于一种数据结构 它的逻辑结构总是唯一 但是它可能对应多种存储结构

一种数据结构可以用一个二元组表示

B=(D,R)B一种数据结构D数据元素集合R二元关系集合

数据结构的逻辑关系

  1、集合 所有数据元素除了所属于一个集合外别无关系

  2、线性结构  所有元素节点 开始节点和终端节点是唯一的 其余节点有且仅有一个前驱节点 有且仅有一个后驱节点

  3、树形结构  每个节点 最多一个前驱节点 可以有多个后继节点  

  4、图形结构  每个节点的前驱和后继个数是任意的

数据结构的存储结构类型(

  1顺序存储结构  相邻的节点存储在物理位置上相邻的存储单元 节点之间的逻辑关系由存储单元的相邻关系表示  

          节省存储空间 分配给数据的存储单元全部用于存储节点的数据 节点之间的逻辑关系没有占用额外的存储空间 可以实现对于节点的随机存取 每个节点对应一个序号 根据序号计算出存储地址

         不利于修改 插入和删除时候可能会移动一系列节点

  2链式存储结构  不要求相邻节点在物理位置上也相邻 逻辑关系由附加的指针字段表示

          方便修改 进行删除和插入时候仅仅需要修改相应节点的指针域 不需要移动节点的物理地址

          存储空间的利用率低 分配的数据的存储单元一部分用于存储逻辑关系  因为节点相邻物理位置不一定相邻 所以不支持随机存取

  3索引存储结构  存储节点的同时 建立索引表 (关键字——地址) 关键字标示唯一节点 地址是该节点的指针 根据索引表 进行节点的地址确定

          大大提高了数据的查询速度 进行修改的操作的时候 只需要修改相应节点并修改索引表中相应节点的地址 不需要移动其他节点 因为索引表的存在 所以支持随机访问 根据下标来直接获取地址

          降低了存储空间的利用率 因为增加索引表

  4散列(哈希)存储结构  根据节点的关键字直接计算出该节点的存储地址 

               查找快 

                不存储节点之间的逻辑关系 只适合快速查找和插入的场合

既可以组合使用 也可以单独使用

数据类型

  定义 在高级程序语言中 必须对于每个变量 常量 表达式 规定他们的数据类型 。数据类型是一组性质相同的值的集合和定义在这组集合上上的一组操作的总称,不同的数据类型,对于变量的取值范围和操作也有所不同

抽象数据类型

  从问题的数学模型中抽象的逻辑数据结构和逻辑数据结构上的运算,不考虑计算机的具体存储结构和运算的具体实现算法。

  表现形式:(D、S、P)D数据对象 S:D上关系集P

原文地址:https://www.cnblogs.com/YangJM/p/7658789.html