数据结构――架的概念

类别:VC语言 点击:0 评论:0 推荐:
 

数据结构――架的概念

一、有向架的定义

有向架是指共享n个节点的m张有向图,每张有向图包含的节点集都是n个节点的子集。

设有n个节点散布在一个平面之上,有节点集合{1,2,3,…}

有m张有向图,其中任意一有向图的节点集合都是以上n个节点的子集。

这m张有向图共享节点集的n个节点

则以上说明构成了一个有向架。

可以把有向架看成m层有向图的叠加,相同的节点迭在一起。

有向架节点的节点入度:指向本节点的不重复的其他节点的数量。

有向架节点的节点出度:本节点指向的不重复的其他节点的数量。

有向架节点的路段入度:指向本节点的所有路段的数量。

有向架节点的路段出度:本节点指向的所有路段的数量。

二、 有向架的描述

1、  邻接矩阵描述:

可以用M×N×N的三维矩阵描述架。每一层有向图可用一个n*n的矩阵描述,则m层有向图(即架)可以用m层n*n的矩阵,即m*n*n的三维矩阵描述。

2、  邻接链表描述:

首先建立一个节点类和一个路径类,每个节点拥有一条指针链,每个指针指向一个路径,每条路径有一个来源节点和一个到达节点,还有自己的路径编号,路径编号可以重复。则一个节点可以经由不同编号的路径多次指向一个其他节点,也可以多个其他节点所多次指向。

3、  邻接压缩表描述:

   使用三个数组:

   第一个数组长度为路段总数,第二个数组长度为m+1,第三个数组为节点描述。

4、有向架描述举例:

图1

A B

DDDD

C

EDDD

图示:

图一:

图二:

图三:

图1

A B

DDDD

C

EDDD

   1)邻接矩阵描述举例:

            A     B     C     D     E

       A     0     0     1     0     0

       B     1     0     0     0     0

       C     0     0     0     0     1

       D     0     0     0     0     0

       E     0     1     0     0     0

 

              A     B     C     D     E

       A     0     0     0     0     0

       B     0     0     0     0     0

       C     0     0     0     0     1

       D     0     0     1     0     0

       E     0     0     0     1     0

图3

A B C

EDDD

DDDD

              A     B     C     D     E

       A     0     0     1     0     0

       B     1     0     0     0     0

       C     0     0     0     0     1

       D     0     1     0     0     0

       E     0     0     0     1     0

 2)邻接压缩表描述举例:

      路段描述表

1

2

3

A

C

E

B

C

E

D

A

C

E

D

B

C

E

B

A

E

D

C

C

E

D

B

A

     特点:对于路径内部的节点,前一个的到达点是下一个的出发点。

     路段描述表位置说明

0

4

7

11

     节点对象表

A

B

C

D

E

         说明:路段描述表的存储单元定义如下:

       {

              路段描述内容;

              出发节点的编号;

              到达结点的编号;

       }

  3) 另一种邻接压缩表描述:   

A

B

C

D

E

1

3

1

3

1

2

3

2

3

1

2

3

C

C

A

A

B

E

E

C

B

B

D

D

压缩表辅助描述表:

0

2

4

7

9

11

A

B

C

D

E

 

三、扩充话题:

有向架的应用。

其他架的概念:加权有向架;无向架;加权无向架。

各种架的搜索:深度优先搜索和广度优先搜索。

各种搜索和描述方法的执行效率比较。

 

 作者其他文章链接:

商业软件功能需求的量化分析方法 (bfbd原创)

本文地址:http://com.8s8s.com/it/it2520.htm