1.今天做题遇到这样一道题目:
那我们下面来具体讲一下其中的关系
2.什么是数据结构:
数据结构分为:逻辑结构、存储结构。
A.逻辑结构分为:集合、线性结构、树形结构、图形结构。
--线性表、栈、队列、树、图等逻辑结构。
--其中线性表、栈、队列为线性结构,树和图都是非线性结构。
B.物理存储结构分为:顺序存储结构、链式存储结构,索引结构,哈希结构
3.逻辑结构可以用二元组来表示:
--二元组表示形式: DS = ( D, S ) 【Data Structure】
--其中 D 是数据元素的集合; S 是 D 中数据元素之间的关系集合
4.二元组满足以下关系:
二元组形式为:DS = (D, S),则:
第一:如果 D != null,而S == null,则该数据结构为集合结构。
第二:如果 D = {01, 02, 03, 04, 05},S = {<02,04>, <03,05>, <05,02>, <01,03>},则该数据结构是线性结构。
在这些数据元素中有一个可以被称为“第一个”的数据元素;还有一个可以被称为“最后一个”的数据元素;除第一个元素以外每个数据元素有且仅有一个直接前驱元素,除最后一个元素以外每个数据元素有且仅有一个直接后续元素。这种数据结构的特点是数据元素之间是 1对 1 的联系,即线性关系。
第三:
D = {01, 02, 03, 04, 05, 06}
S = {<01,02>, <01,03>, <02,04>, <02,05>, <03,06>}
除了一个数据元素(元素 01)以外每个数据元素有且仅有一个直接前驱元素,但是可以有多个直接后续元素。这种数据结构的特点是数据元素之间是 1 对 N 的联系,即树结构。
第四:
D = {01, 02, 03, 04, 05}
S = {<01,02>, <01,05>, <02,01>, <02,03>, <02,04>, <03,02>,<04,02>, <04,05>, <05,01>, <05,04>}:
每个数据元素可以有多个直接前驱元素,也可以有多个直接后续元素。这种数据结构的特点是数据元素之间是 M 对 N 的联系,即图结构。