快速可达矩阵计算(先获得所有有序的回路,再进行一次Warshall法就可以)


论文写作或者计算需要帮助可发邮件到 hwstu # sohu.com 把 #替换成@,请说清来意,不必拐弯抹角,浪费相互之间的时间。

返回首页


此处输入要素的个数:



显示的是一个随机 12 * 12 的方阵



  
                  1          1   
                                   
   1                         1   
            1 1                  
      1       1                  
                              1   
   1                              
      1          1               
                              1   
1             1                  
1                                 
               1          1      

利用深搜算法获得所有环路,该环路的着色矩阵显示为



  
                                   
1                                 
   1    1                        
      1                           
1       1                        
         1                        
            1 1                  
               1 1               
   1       1                     
         1                        
      1       1                  
               1             1   

得到了一个有序的环,所有环路,是一个有序图



子要素
丑要素
寅要素
卯要素
辰要素
巳要素
午要素
未要素
申要素
酉要素
戌要素
亥要素
第0层
第1层
第2层
第3层
第4层
第5层
第6层
第7层
第8层
第9层
第10层

根据层级由上往下进行计算,最上的层级为0



当前为:0 层,包含有 1 个要素
        当前层的可达集合为 1
       0层的可达集合为1 。
       因此要素1可达集合为1 。

当前为:1 层,包含有 1 个要素
        当前层的可达集合为 1,6
        除了本层的要素还有1 开始处理1 指向层级的可达集合
           处理完了1 得到的可达集合为 。
       1层的可达集合为1,6 。
       因此要素6可达集合为1,6 。

当前为:2 层,包含有 2 个要素
        当前层的可达集合为 0,6,10
        除了本层的要素还有6 开始处理6 指向层级的可达集合
           处理完了6 得到的可达集合为1,6 。
       2层的可达集合为0,6,10,1 。
       因此要素0可达集合为0,6,10,1 。
       因此要素10可达集合为0,6,10,1 。

当前为:3 层,包含有 1 个要素
        当前层的可达集合为 1,10,2
        除了本层的要素还有1,10 开始处理1,10 指向层级的可达集合
           处理完了1,10 得到的可达集合为0,6,10,1 。
       3层的可达集合为1,10,2,0,6 。
       因此要素2可达集合为1,10,2,0,6 。

当前为:4 层,包含有 1 个要素
        当前层的可达集合为 10,5
        除了本层的要素还有10 开始处理10 指向层级的可达集合
           处理完了10 得到的可达集合为0,6,10,1 。
       4层的可达集合为10,5,0,6,1 。
       因此要素5可达集合为10,5,0,6,1 。

当前为:5 层,包含有 1 个要素
        当前层的可达集合为 2,5,4
        除了本层的要素还有2,5 开始处理2,5 指向层级的可达集合
           处理完了2,5 得到的可达集合为10,5,0,6,1,2 。
       5层的可达集合为2,5,4,10,0,6,1 。
       因此要素4可达集合为2,5,4,10,0,6,1 。

当前为:6 层,包含有 1 个要素
        当前层的可达集合为 4,5,3
        除了本层的要素还有4,5 开始处理4,5 指向层级的可达集合
           处理完了4,5 得到的可达集合为10,5,0,6,1,2,4 。
       6层的可达集合为4,5,3,10,0,6,1,2 。
       因此要素3可达集合为4,5,3,10,0,6,1,2 。

当前为:7 层,包含有 1 个要素
        当前层的可达集合为 2,6,7
        除了本层的要素还有2,6 开始处理2,6 指向层级的可达集合
           处理完了2,6 得到的可达集合为1,6,10,2,0 。
       7层的可达集合为2,6,7,1,10,0 。
       因此要素7可达集合为2,6,7,1,10,0 。

当前为:8 层,包含有 1 个要素
        当前层的可达集合为 10,8
        除了本层的要素还有10 开始处理10 指向层级的可达集合
           处理完了10 得到的可达集合为0,6,10,1 。
       8层的可达集合为10,8,0,6,1 。
       因此要素8可达集合为10,8,0,6,1 。

当前为:9 层,包含有 1 个要素
        当前层的可达集合为 0,5,9
        除了本层的要素还有0,5 开始处理0,5 指向层级的可达集合
           处理完了0,5 得到的可达集合为10,5,0,6,1 。
       9层的可达集合为0,5,9,10,6,1 。
       因此要素9可达集合为0,5,9,10,6,1 。

当前为:10 层,包含有 1 个要素
        当前层的可达集合为 5,9,11
        除了本层的要素还有5,9 开始处理5,9 指向层级的可达集合
           处理完了5,9 得到的可达集合为0,5,9,10,6,1 。
       10层的可达集合为5,9,11,0,10,6,1 。
       因此要素11可达集合为5,9,11,0,10,6,1 。

运行 26 次的集合运算,
运行 22 次的集合直接赋值,

得到的新矩阵为



  
1 1             1          1   
   1                              
1 1 1          1          1   
1 1 1 1 1 1 1          1   
1 1 1    1 1 1          1   
1 1          1 1          1   
   1             1               
1 1 1          1 1       1   
1 1             1    1    1   
1 1          1 1       1 1   
1 1             1          1   
1 1          1 1       1 1 1

原始矩阵的可达矩阵为



  
1 1             1          1   
   1                              
1 1 1          1          1   
1 1 1 1 1 1 1          1   
1 1 1    1 1 1          1   
1 1          1 1          1   
   1             1               
1 1 1          1 1       1   
1 1             1    1    1   
1 1          1 1       1 1   
1 1             1          1   
1 1          1 1       1 1 1

化学加平台
解释结构模型
感谢化学加提供单独服务器服务器!请大家多支持化学加平台,可以多介绍人关注化学加!
对解释结构模型在线计算有什么意见与建议请发电子邮件到, hwstu #sohu.com 把#替换成 @