- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
chemperl无向图中找简单闭合回路perl的实现(10页)
1前提:对一连通分量P,将其用邻接矩阵表示法来表示1 ) 0代表不连通,1 代表连通 2 用广度优先算法求出连通分量P的支撑树(即生成树)生成树:是一个极小连通子图,它含有图中全部顶点,但只有n-1条边。 由深度优先搜索遍历得到的生成树,称为深度优先生成树。由广度优先搜索遍历得到的生成树,称为广度优先生成树。见下页无向图G7的两种生成树。 这里我们使用的是广度优先算法,所以我们得到的是图(b).广度优先生成树BFS 通过BFS算法,把边的权重改为-1;------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 结果当然要放到正文里了。------------------------------------------------下面是连通信息 1 2 1 5 1 8 2 3 2 13 3 6 3 14 4 6 4 7 4 15 5 7 5 11 7 9 8 16 9 10 9 1810 1210 1711 1211 2112 2213 1613 2313 2416 2516 2617 2017 2718 1918 2819 2019 2920 30------------------------------------------------------这里是连通信息表达的分子式-----------------------------------------------------------------------------这里是我用perl写的脚本寻找环的编号,#!/usr/bin/perl -wuse strict;
#N=30 E=33 30个点, 33 条边
#构建邻接矩阵my $x;my $y;my @matrix;for($x=1;$x=30;$x++){ for($y=1;$y=30;$y++) { $matrix[$x][$y]=0; }}
open FH,F:\\C\\bond;while(FH){ /(\d+)\s+(\d+)/; $matrix[$1][$2]=1; $matrix[$2][$1]=1;}close FH;
#for($x=1;$x=30;$x++)#{# for($y=1;$y=30;$y++)# {# print $matrix[$x][$y];# }# print \n;#}#打印邻接矩阵
my @color; #对每个顶点u∈V,其色彩存储于变量color中.my @parent; #结点u的父母存于变量π[u]=parent中 #如果u没有父??(例如u=s或u还没有被检索到),则 π[u]=NIL
##初始化
#把所有的点初始化为 白色for(1..30){ $color[$_]=w;}
my @box; #用来存放灰色的顶点
$parent[1]=0; #表示1号原子没有父母,也就是说任命 1号原子为root,祖宗$color[1]=g; #把1号原子的颜色变为灰色g grey, #黑色b Black; 灰色grey g push @box,1; #把灰色的1号原子放到盒子中 #写一个子例程,用来返回 一个原子的相连原子#print join \n,adj(2);sub adj{ my @adjatoms=(); my $adj_atom=$_[0]; open FH,F:\\C\\bond; while(FH) { if($_=~/\b$adj_atom\b\s+(\d+)/ || $_=~/(\d+)\s+\b$adj_atom\b/) { push @adjatoms,$1; } } return @adjatoms ;}
文档评论(0)