原帖:处理前:
0 1 2 3
2 3 4
1 6 7
0 6
处理后:
0 1 1 1 0 0 1 0
1 0 1 1 0 0 1 1
1 1 0 1 1 0 0 0
1 1 1 0 1 0 0 0
0 0 1 1 0 0 0 0
0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 1
0 1 0 0 0 0 1 0
处理规则:
关于邻接矩阵的介绍大家可以百度一下,我这里只给出处理方法。
-
[root@localhost ~]# cat i
-
0 1 2 3
-
2 3 4
-
1 6 7
-
0 6
-
[root@localhost ~]# awk '{for(i=1;i<=NF;i++)for(j=1;j<=NF;j++)if(j!=i)a[$i,$j]=1}END{for(i=0;i<=7;i++){for(j=0;j<=7;j++)printf a[i,j]?"1 ":"0 ";print ""}}' i
-
0 1 1 1 0 0 1 0
-
1 0 1 1 0 0 1 1
-
1 1 0 1 1 0 0 0
-
1 1 1 0 1 0 0 0
-
0 0 1 1 0 0 0 0
-
0 0 0 0 0 0 0 0
-
1 1 0 0 0 0 0 1
-
0 1 0 0 0 0 1 0
-
[root@localhost ~]#
-
#!/usr/bin/perl
-
-
while (<DATA>) {
-
split;
-
for ($i=0;$i<@_;$i++) {
-
for ($j=0;$j<@_;$j++) {
-
if ($i!=$j) {
-
$h{$_[$i]}{$_[$j]} = 1;
-
}
-
}
-
}
-
}
-
-
END {
-
for ($i=0;$i<=7;$i++) {
-
for ($j=0;$j<=7;$j++) {
-
$h{$i}{$j} = 0 if ! exists $h{$i}{$j};
-
$str = defined $str ? $str . " " . $h{$i}{$j} : $h{$i}{$j};
-
}
-
print "$str\n";
-
undef $str;
-
}
-
}
-
-
__DATA__
-
0 1 2 3
-
2 3 4
-
1 6 7
-
0 6
阅读(1750) | 评论(0) | 转发(0) |