
上QQ阅读APP看书,第一时间看更新
1.3.1 逻辑结构
数据的逻辑结构(logical structure)是指在数据对象中数据元素之间的相互关系。数据元素之间存在不同的逻辑关系构成了以下4种结构类型。
(1)集合。结构中的数据元素除了同属于一个集合外,数据元素之间没有其他关系。这就像数学中的自然数集合,集合中的所有元素都属于该集合,除此之外,没有其他特性。例如,数学中的正整数集合{5,67,978,20,123,18},集合中的数除了属于正整数外,元素之间没有其他关系。数据结构中的集合关系就类似于数学中的集合。集合表示如图1-3所示。
(2)线性结构。结构中的数据元素之间是一对一的关系。线性结构如图1-4所示。数据元素之间有一种先后的次序关系,a、b、c……是一个线性表,其中,a是b的前驱,b是a的后继。

图1-3 集合结构

图1-4 线性结构
(3)树状结构。结构中的数据元素之间存在一种一对多的层次关系,树状结构如图1-5所示。这就像学校的组织结构图,学校下面是教学的院系、行政机构及一些研究所。
(4)图结构。结构中的数据元素是多对多的关系,图1-6就是一个图结构。城市之间的交通路线图就是多对多的关系,a、b、c、d、e、f、g是7个城市,城市a和城市b、e、f都存在一条直达路线,而城市b也和a、c、f存在一条直达路线。

图1-5 树状结构

图1-6 图结构