为了更确切地描述一种数据结构(逻辑结构),通常采用二元组表示B=(D,R)其中,B是一种数据结构,它由数据元素的集合D和D上二元关系的集合R所组成。其中:D={d:/ 1≤i<n,n≥0)R={r;| 1≤j<m,m≥0}16
16 为了更确切地描述一种数据结构(逻辑结 构),通常采用二元组表示: B=(D,R) 其中,B是一种数据结构,它由数据元素的 集合D和D上二元关系的集合R所组成。其中: D={di | 1≤i≤n,n≥0} R={rj | 1≤j≤m,m≥0}
D表示集合D中的第i个结点或数据元素,n为D中结点的个数若n=0则D是一个空集,因而B也就无结构可言!有时也可以认为它具有任一结构R表示集合R中的第i个二元关系,m为R中关系的个数若m=0则R是一个空集,表明集合D中的结点间不存在任何关系,彼此是独立的
17 若n=0 则D是一个空集,因而B也就无结构可言, 有时也可以认为它具有任一结构。 Rj表示集合R中的第j个二元关系,m为R中关 系的个数 若m=0 则R是一个空集,表明集合D中的结点间不 存在任何关系,彼此是独立的。 Di表示集合D中的第i个结点或数据元素, n为D中结点的个数
序偶<x,y>(x,yEK)= x为第一结点,y为第二结点。x为y的直接前驱结点(通常简称前驱结点)y为x的直接后继结点(通常简称后继结点)若某个结点没有前驱结点,则称该结点为开始结点若某个结点没有后继结点,则称该结点为终端结点。说明:<x,y>表示有向关系:(x,y)表示无向关系。采用离散数学的表示方法18
18 序偶<x,y>(x,y∈K) x为第一结点,y为第二 结点。 x为y的直接前驱结点(通常简称前驱结点) y为x的直接后继结点(通常简称后继结点)。 若某个结点没有前驱结点,则称该结点为开 始结点;若某个结点没有后继结点,则称该结点 为终端结点。 说明:<x,y>表示有向关系,(x,y)表示 无向关系。采用离散数学的表示方法
例如,采用二元组表示例1.1的学生表学生表中共有7个结点,依次用k1~k7表示则对应的二元组表示为B=(D,R),其中:D=/kl,k2,k3,k4,k5,k6,k7R=(r)r=<k1,k2>,<k2,k3>,<k3,k4>,<k4,k5>,<k5,k6><k6,k7>)19
19 例如,采用二元组表示例1.1的学生表。 学生表中共有7个结点,依次用k1~k7表示, 则对应的二元组表示为B=(D,R),其中: D={k1,k2,k3,k4,k5,k6,k7} R={r} r={<k1,k2>,<k2,k3>,<k3,k4>,<k4,k5>,<k5,k6>, <k6,k7>}
263181274951011对应的二元组表示为B-(D,R),其中:D=[2,6,3,1,8,12,7,4,5,10,9,11)其中:r1表示行关系,r2表示列关系R=(rl,r2)r1=[<2,6>,<6,3>,<3,1>,<8,12>,<12,7>,<7,4><5,10>,<10,9>,<9,11>}r2=<2,8>,<8,5>,<6,12>,<12,10>,<3,7>,<7,9>,<1,4>,<4,11>}20
20 对应的二元组表示为B=(D,R),其中: D={2,6,3,1,8,12,7,4,5,10,9,11} R={r1,r2} 其中:r1表示行关系,r2表示列关系 r1={<2,6>,<6,3>,<3,1>,<8,12>,<12,7>,<7,4>, <5,10>,<10,9>,<9,11>} r2={<2,8>,<8,5>,<6,12>,<12,10>,<3,7>,<7,9>, <1,4>,<4,11>}