数据之间的逻辑关系可细分为三类,“一对一”、“一对多”和“多对多”:
- “一对一”:类似集合
{1,2,3,...,n}
这类的数据,每个数据的左侧有且仅有一个数据与其相邻(除 1 外);同样,每个数据的右侧也只有一个数据与其相邻(除 n 外),所有的数据都是如此,就说数据之间是“一对一”的逻辑关系; - “一对多”: 数据就属于“一对多”,因为对于张平来说,有且仅有一个父亲(张亮),但是有 2(多)个孩子;
- “多对多”:从 V1 可以到达 V2、V3、V4,同样,从 V2、V3、V4 也可以到达 V1,对于V1、V2、V3和V4来说,它们之间就是“多对多”的关系;
通过学习数据结构,我们可以学到 3 种存储结构分别存储这 3 类逻辑关系的数据,换句话说:
- 线性表用于存储具有“一对一”逻辑关系的数据;
- 树结构用于存储具有“一对多”关系的数据;
- 图结构用于存储具有“多对多”关系的数据;
由此,我们可以通过分析数据之间的逻辑关系来决定使用哪种存储结构,但具体使用顺序存储还是链式存储,还要通过数据的物理结构来决定。