数据的逻辑结构:指反映数据元素之间的逻辑关系的数据结构,其中的逻辑关系是指数据元素之间的前后件关系,而与他们在计算机中的存储位置无关。逻辑结构包括:
1.集合
2.线性结构
对于数据结构课程而言,简单地说,线性结构是n个数据元素的有序(次序)集合。它有四个基本特征:
(1).集合中必存在唯一的一个"第一个元素";
(2).集合中必存在唯一的一个"最后的元素";
(3).除最后元素之外,其它数据元素均有唯一的"后继";
(4).除第一元素之外,其它数据元素均有唯一的"前驱"。
数据结构中线性结构指的是数据元素之间存在着“一对一”的线性关系的数据结构。
如(a1,a2,a3,.....,an),a1为第一个元素,an为最后一个元素,此集合即为一个线性结构的集合。
相对应于线性结构,非线性结构的逻辑特征是一个结点元素可能对应多个直接前驱和多个后继。
常用的线性结构有:线性表(包括顺序表和链表),栈,队列,双队列,数组,串。
关于广义表,是一种非线性的数据结构。
常见的非线性结构有:二维数组,多为数组,广义表,树(二叉树等),图(网等)。
3.树形结构
树形结构指的是数据元素之间存在着“一对多”的树形关系的数据结构,是一类重要的非线性数据结构。
在树形结构中,树根结点没有前驱结点,其余每个结点有且只有一个前驱结点。叶子结点没有后续结点,其余每个结点的后续节点数可以是一个也可以是多个。
另外,数学统计中的树形结构可表示层次关系。
树形结构在其他许多方面也有应用。可表示从属关系、并列关系。
基本术语
树的节点:包含一个数据元素及若干个指向其子树的分支。
度:结点拥有的子树称为结点的度。
叶子:度为0的结点称为叶子或终端结点。
树的度:是树内各结点的度的最大值。
双亲和孩子:结点的子树的根称为改结点的孩子,相应地,该结点称为孩子的双亲。
兄弟:同一双亲的孩子之间互称兄弟。
结点的层次:结点的层次从根开始定义,根为第一层,根的孩子为第二层。
深度:树的结点的最大层次称为树的深度。
有序树和无序树:如果将树的各子树看成从左到右是有次序的,则称该树为有序树,否则称为无序树。
4.图形结构
简称“图”。一种复杂的数据结构。数据元素间的关系是任意的。其他数据结构(如树、线性表等)都有明确的条件限制,而图形结构中任意两个数据元素间均可相关联。常用来研究生产流程、施工计划、各种网络建设等问题。